threads / rfc / 17711

Re: [RFC] New command: 'git snapshot'.

Subject: Re: [RFC] New command: 'git snapshot'.

## tl;dr

3 messages between Feb 10, 2009 and Feb 11, 2009.

replies: 2people: 2as markdown or json

Ulrik Sverdrup· Feb 10, 2009, 23:58 UTC · lore
Show 9 quoted lines
> On Tue, Feb 10, 2009 at 3:08 PM, Junio C Hamano <gitster@pobox.com> wrote:
> > Jeff King <peff@peff.net> writes:
> > How is it different from "git stash create"?
>
> Git stash doesn't touch untracked files, whereas git snapshot would.
> Take another closer look at the table in the original post titled
> "What are the differences between 'git stash' and 'git snapshot'?"
>
> -Geoffrey Lee

I'm understanding this just as I read this, but it seems that implementing a git snapshot (I'm myself interested), could be done quickly with a new git. (When was git stash create introduced? I don't know it?)

Something like this: cp .git/index .git/tmp-index GIT_INDEX_FILE=.git/tmp-index git add -N . git stash create

So we use add -N to put all files into tracked but unstaged by default, but we keep our old index. Now stash is ready to save off the working directory, and further logic has to be applied on the returned commit to save it off..

Ulrik Sverdrup
Ulrik Sverdrup· Feb 11, 2009, 00:05 UTC · re: Ulrik Sverdrup · lore

On Wed, Feb 11, 2009 at 12:58 AM, Ulrik Sverdrup <ulrik.sverdrup@gmail.com> wrote:

Show 19 quoted lines
>> On Tue, Feb 10, 2009 at 3:08 PM, Junio C Hamano <gitster@pobox.com> wrote:
>> > Jeff King <peff@peff.net> writes:
>> > How is it different from "git stash create"?
>>
>> Git stash doesn't touch untracked files, whereas git snapshot would.
>> Take another closer look at the table in the original post titled
>> "What are the differences between 'git stash' and 'git snapshot'?"
>>
>> -Geoffrey Lee
>
> I'm understanding this just as I read this, but it seems that implementing a
> git snapshot (I'm myself interested), could be done quickly with a new git.
> (When was git stash create introduced? I don't know it?)
>
> Something like this:
> cp .git/index .git/tmp-index
> GIT_INDEX_FILE=.git/tmp-index
> git add -N .
> git stash create

Ok I didn't test this. Stash creation fails because the add -N status is not quite "tracked but no content staged", but rather you _have_ to stage the files at a later point. git add -N is just a reminder thing?

Error output: plugin-gui.log: not added yet fatal: git-write-tree: error building trees Cannot save the current index state

Shame, I wish the above script worked.
Ulrik Sverdrup
Show 8 quoted lines
>
> So we use add -N to put all files into tracked but unstaged by default, but we
> keep our old index. Now stash is ready to save off the working directory, and
> further logic has to be applied on the returned commit to save it off..
>
>
> Ulrik Sverdrup
>
Nanako Shiraishi· Feb 11, 2009, 00:08 UTC · re: Ulrik Sverdrup · lore

Re: [RFC/PATCH] shortstatus v1

Quoting Ulrik Sverdrup <ulrik.sverdrup@gmail.com>:
Show 13 quoted lines
>> On Tue, Feb 10, 2009 at 3:08 PM, Junio C Hamano <gitster@pobox.com> wrote:
>> > Jeff King <peff@peff.net> writes:
>> > How is it different from "git stash create"?
>>
>> Git stash doesn't touch untracked files, whereas git snapshot would.
>> Take another closer look at the table in the original post titled
>> "What are the differences between 'git stash' and 'git snapshot'?"
>>
>> -Geoffrey Lee
>
> I'm understanding this just as I read this, but it seems that implementing a
> git snapshot (I'm myself interested), could be done quickly with a new git.
> (When was git stash create introduced? I don't know it?)
I did the initial git-stash at the end of June 2007; git-stash create was done by Junio about a week later and was released as a part of v1.5.4.
Show 9 quoted lines
> Something like this:
> cp .git/index .git/tmp-index
> GIT_INDEX_FILE=.git/tmp-index
> git add -N .
> git stash create
>
> So we use add -N to put all files into tracked but unstaged by default, but we
> keep our old index. Now stash is ready to save off the working directory, and
> further logic has to be applied on the returned commit to save it off..
git-add -N came much later, late August 2008, and is available only in v1.6.1 and later.
I think you want to export GIT_INDEX_FILE you set to the temporary file before running these two commands.
-- 
Nanako Shiraishi
http://ivory.ap.teacup.com/nanako3/

← back to recent threads