Re: kha/safe and kha/experimental updated
- From
- Catalin Marinas <catalin.marinas@gmail.com>
- Date
- Dec 19, 2007, 17:02 UTC
- Message-ID
- <b0943d9e0712190902r2000c1ebob2303b32d1b948b8@mail.gmail.com>
- In-Reply-To
- <200712191723.29591.jnareb@gmail.com>
On 19/12/2007, Jakub Narebski <jnareb@gmail.com> wrote:
Show 37 quoted lines
> Karl Hasselström wrote: > > On 2007-12-19 11:44:57 +0100, Jakub Narebski wrote: > >> On Wed, 19 Dec 2007, Karl Hasselström wrote: > >>> On 2007-12-18 08:39:52 -0800, Jakub Narebski wrote: > >>> > >>>> I also would like to have this command kept (and shown in 'stg > >>>> help'!). Contrary to 'git add' it can check and add to index / > >>>> update index only for files with conflict; we have -r > >>>> (ancestor|current|patched) to choose one side, and we could add > >>>> --check to check if there are no conflict markers with files > >>>> (useful with -a/--all). > >>> > >>> This too sounds like stuff that could profitably be added to "git > >>> add". Except for the ancestor/current/patched words, it is not > >>> specific to patch stacks, so the implementation should be in git > >>> and not in stg. > >> > >> No it cannot, at least the '-r (ancestor|current|patched)' part for > >> resetting file to given version, even if we change the wording to > >> ancestor, ours and theirs. The git-add command is about adding > >> contents, which updates index, which almost as a intended > >> side-effect clears merge state, i.e. stages; and not about resetting > >> to stage. > > > > git checkout-index --stage=1|2|3 <filename> > > > > does what you want. But "git cat-file" knows this handy syntax for > > getting at particular index stages: > > > > :stage:<filename> > > I always forget which stage is which. It would be nice if > git-checkout-index implemented human-friendly names, just like > git-diff-files has --base, --ours, --theirs, i.e. if it would be > possible to write > > git checkout-index --stage=base|ours|theirs <filename>
This gets even more confusing with StGIT. For plain git, after a git merge or pull conflict, 'theirs' is stage 3. With StGIT, we first advance the base of the stack and merge the patches onto it, in which case the 'patched' (which I would normally call 'ours' rather than 'theirs') is 3.
-- Catalin