git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* Move git-stash from one machine (or working copy) to another
@ 2011-01-21 14:54 Patrick Doyle
  2011-01-21 17:49 ` Junio C Hamano
  2011-01-23 10:08 ` Andreas Schwab
  0 siblings, 2 replies; 5+ messages in thread
From: Patrick Doyle @ 2011-01-21 14:54 UTC (permalink / raw)
  To: git

Is there an easy way to move work in progress from one machine to another?

One way to do it might be something like this:

machine1$ git checkout -b movewip
machine1$ git add .
machine1$ git commit -m "Moving work in progress"
machine1$ git push origin movewip:movewip

machine2$ git fetch origin movewip:movewip:
machine2$ git checkout movewip
machine2$ git reset HEAD^
machine2$ git stash
machine2$ git checkout master
machine2$ git stash pop

# go through and delete movewip branches on machine1, machine2, and
the origin server

Except for some possible typos, this seems like it would work, but
seems to be awfully clumsy.  Is there a more elegant way to accomplish
this?

It seems to me that if I could git-stash on machine1, take that stash
with me (somehow) to machine2, and then pop it there, that would be
easier.
--wpd

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Move git-stash from one machine (or working copy) to another
  2011-01-21 14:54 Move git-stash from one machine (or working copy) to another Patrick Doyle
@ 2011-01-21 17:49 ` Junio C Hamano
  2011-01-23  2:05   ` David Aguilar
  2011-01-23 10:08 ` Andreas Schwab
  1 sibling, 1 reply; 5+ messages in thread
From: Junio C Hamano @ 2011-01-21 17:49 UTC (permalink / raw)
  To: Patrick Doyle; +Cc: git

Patrick Doyle <wpdster@gmail.com> writes:

> Is there an easy way to move work in progress from one machine to another?
>
> One way to do it might be something like this:
>
> machine1$ git checkout -b movewip
> machine1$ git add .
> machine1$ git commit -m "Moving work in progress"
> machine1$ git push origin movewip:movewip
>
> machine2$ git fetch origin movewip:movewip:
> machine2$ git checkout movewip
> machine2$ git reset HEAD^
> machine2$ git stash
> machine2$ git checkout master
> machine2$ git stash pop
>
> # go through and delete movewip branches on machine1, machine2, and
> the origin server
>
> Except for some possible typos, this seems like it would work, but
> seems to be awfully clumsy.  Is there a more elegant way to accomplish
> this?

If your two machines can talk directly with each other (which seems to be
the case from your "take that with me (somehow) to machine2"), you don't
have to push and fetch through the origin.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Move git-stash from one machine (or working copy) to another
  2011-01-21 17:49 ` Junio C Hamano
@ 2011-01-23  2:05   ` David Aguilar
  2011-01-23  9:04     ` Matthieu Moy
  0 siblings, 1 reply; 5+ messages in thread
From: David Aguilar @ 2011-01-23  2:05 UTC (permalink / raw)
  To: Junio C Hamano; +Cc: Patrick Doyle, git

On Jan 21, 2011, at 9:49 AM, Junio C Hamano <gitster@pobox.com> wrote:

> Patrick Doyle <wpdster@gmail.com> writes:
>
>> Is there an easy way to move work in progress from one machine to  
>> another?
>>
>> One way to do it might be something like this:
>>
>> machine1$ git checkout -b movewip
>> machine1$ git add .
>> machine1$ git commit -m "Moving work in progress"
>> machine1$ git push origin movewip:movewip
>>
>> machine2$ git fetch origin movewip:movewip:
>> machine2$ git checkout movewip
>> machine2$ git reset HEAD^
>> machine2$ git stash
>> machine2$ git checkout master
>> machine2$ git stash pop
>>
>> # go through and delete movewip branches on machine1, machine2, and
>> the origin server
>>
>> Except for some possible typos, this seems like it would work, but
>> seems to be awfully clumsy.  Is there a more elegant way to  
>> accomplish
>> this?
>
> If your two machines can talk directly with each other (which seems  
> to be
> the case from your "take that with me (somehow) to machine2"), you  
> don't
> have to push and fetch through the origin.

This won't handle all cases, but it should do the trick 80%+ of the  
time.

% git diff > foo.patch

(on other machine)
% git apply foo.patch

-- 
         David

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Move git-stash from one machine (or working copy) to another
  2011-01-23  2:05   ` David Aguilar
@ 2011-01-23  9:04     ` Matthieu Moy
  0 siblings, 0 replies; 5+ messages in thread
From: Matthieu Moy @ 2011-01-23  9:04 UTC (permalink / raw)
  To: David Aguilar; +Cc: Junio C Hamano, Patrick Doyle, git

David Aguilar <davvid@gmail.com> writes:

> This won't handle all cases, but it should do the trick 80%+ of the
> time.
>
> % git diff > foo.patch

Or, if the patch produced by "git diff" doesn't do it:

git commit -am foo
git format-patch -1
git reset HEAD^

> (on other machine)
> % git apply foo.patch

In one command:

git diff | ssh other-machine 'cd /path/to/repo && git apply'

-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Move git-stash from one machine (or working copy) to another
  2011-01-21 14:54 Move git-stash from one machine (or working copy) to another Patrick Doyle
  2011-01-21 17:49 ` Junio C Hamano
@ 2011-01-23 10:08 ` Andreas Schwab
  1 sibling, 0 replies; 5+ messages in thread
From: Andreas Schwab @ 2011-01-23 10:08 UTC (permalink / raw)
  To: Patrick Doyle; +Cc: git

Patrick Doyle <wpdster@gmail.com> writes:

> It seems to me that if I could git-stash on machine1, take that stash
> with me (somehow) to machine2, and then pop it there, that would be
> easier.

machine1$ git stash

machine2$ git fetch machine1:/repo refs/stash
machine2$ git checkout FETCH_HEAD .

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2011-01-23 10:08 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-01-21 14:54 Move git-stash from one machine (or working copy) to another Patrick Doyle
2011-01-21 17:49 ` Junio C Hamano
2011-01-23  2:05   ` David Aguilar
2011-01-23  9:04     ` Matthieu Moy
2011-01-23 10:08 ` Andreas Schwab

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).