Re: Merging changes from branches where file paths have changed

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

 



Am 14.04.2012 15:15, schrieb Thomas Adam:
> The commits though coming from "git log" in RepoA touch files in
> distrib/build/sources/coretree/tree, yet the files to which I want the
> changes for in RepoB are not in "distrib/build/sources/coretree/tree"
> -- there all in "./" at the top-level directory for RepoB.  The files
> in both once shared the same history -- it's just that now the
> locations of those files in RepoB which have changed.
> 
> I want to cherry-pick the commits I obtained from the "git log"
> command in RepoA, and have them contained in RepoB.  So I thought
> something like this would work:
> 
> [ In RepoB.... ]:
> % git remote add repoA file:///path/to/repoA/
> % git fetch repoA
> % git checkout specific/branch
> % git cherry-pick $SOME_COMMIT_FROM_REPOA

You have these histories


  A--o--B--C--o--o--D--o--E   <- RepoA

  A'----B'-C'                 <- RepoB

and you want to cherry-pick D and E to RepoB. Right?

I suggest that you install a graft in RepoB, then cherry-pick D and E:

  echo $(git rev-parse C' C) >> .git/info/grafts
  git cherry-pick D
  git cherry-pick E

Then it will look as if everything outside the directory was removed,
and everything else was moved from the directory to the root with 100%
similarity, which makes the merge process easy. (This works only if
there are no files with the same names in C's and C''s root; a Makefile
in each would pose a problem.)

(Remove the graft when you're done.)

-- Hannes
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]