quilt-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Quilt-dev] quilt sync


From: tikkoneus
Subject: [Quilt-dev] quilt sync
Date: Fri, 14 Jul 2017 18:08:09 -0400
User-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0

Hello!

I just discovered quilt and I think it's a great tool. I've learned just enough to be dangerous so I'd like some advice before proceeding.

One of my use cases is using it alongside a VCS (primarily svn or git) to manage personal or local modifications which don't belong in the VCS. This breaks quilt quickly when any modifications (git pull / svn update / hackity-hack) are made to quilt-tracked files but those modifications shouldn't be added to the quilt patch (which is what will happen on quilt refresh). One can advise quilt pop before any operations that might possibly affect quilt files, but it's not always possible and if you forget then it gets messy. The pdf doc even calls out that it may be possible to resynchronize the index but it's probably worth starting with a new scratch working directory.

Example: Create a quilt patch P. Create file F and 'quilt add' it, which copies the current version to the index. Make modification M1 and quilt refresh which creates a patchfile. Now some other modification M2 happens to F while M1 is applied and you don't want M2 to be included in P. The trouble is that quilt starts by verifying that F + P = working copy of F, which it won't.

I'm picturing 'quilt sync' which is essentially "pop && replace index && push", where the pop operation uses "patch -R" to reverse the given patch from the working copy of F. That would leave F + M1 + M2 - M1 = F + M2. Copy that version of the file into the index, then push M1, and now M1 is in fact the only patch on top of the index. 'quilt refresh' after a sync operation should do nothing.

My questions are:
  • Should I be doing this at all? (Am I missing something obvious or fundamental about how quilt works? Will this abuse or break the database? Has this already been considered and rejected for good reasons? Is there a better tool or better way to do what I'm trying to do?)
  • Any tips on how to go about implementing it?

I'm happy to submit a pull request but I want to make sure it's a good idea and I approach it correctly.

Cheers,

Mike


reply via email to

[Prev in Thread] Current Thread [Next in Thread]