# bringing changes from one repo to other

2 messages from 2011-06-30 to 2011-06-30. Participants: Shantanu Pavgi, Jeff King.
Thread: https://gitlist.dev/t/27736

## Shantanu Pavgi, 2011-06-30 17:36

Subject: bringing changes from one repo to other
Message-ID: <F750768F-DC8E-435E-813A-C89AE9B9D89A@uab.edu>
URL: https://gitlist.dev/e/F750768F-DC8E-435E-813A-C89AE9B9D89A%40uab.edu

```

Hi,

I need to bring in changes from one git repository (say repo-A) to other(say repo-B) preferably preserving the commit history. The repo-A contains few initial bad-commit points - includes files that should have been ignored (e.g temporary files generated at runtime) and large number of files got committed in one go. Also, the repo-A and repo-B don't have any common commit point with common set of files. Is there any way to get commits from repo-A to repo-B? I tried git cherry-pick, but I am not able to preserve history after resolving conflicts.  Any comments or suggestions will be really helpful. 

Thanks,
Shantanu.

```

## Jeff King, 2011-06-30 20:19

Subject: Re: bringing changes from one repo to other
Message-ID: <20110630201949.GA25850@sigill.intra.peff.net>
URL: https://gitlist.dev/e/20110630201949.GA25850%40sigill.intra.peff.net
In-Reply-To: <F750768F-DC8E-435E-813A-C89AE9B9D89A@uab.edu>

```
On Thu, Jun 30, 2011 at 12:36:10PM -0500, Shantanu Pavgi wrote:

> I need to bring in changes from one git repository (say repo-A) to
> other(say repo-B) preferably preserving the commit history. The repo-A
> contains few initial bad-commit points - includes files that should
> have been ignored (e.g temporary files generated at runtime) and large
> number of files got committed in one go. Also, the repo-A and repo-B
> don't have any common commit point with common set of files. Is there
> any way to get commits from repo-A to repo-B? I tried git cherry-pick,
> but I am not able to preserve history after resolving conflicts.  Any
> comments or suggestions will be really helpful.

It sounds like you should use "git filter-branch" to edit the history in
repo-A into the shape you want (or even "git rebase -p -i" if the
history is simple and small), and then merge it into repo-B.

Note that this would mean throwing away the old repo-A history (which it
sounds like you want). If you want to include the full history, warts
and all, then simply merge repo-A into repo-B. Git doesn't have a
problem with merging histories with no common commits (though of course
you may get more conflicts, since there is no useful ancestor for a
3-way merge).

-Peff

```
