git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Getting list of changed objects...

From
James Ketrenos <jketreno@linux.intel.com>
Date
Jul 14, 2005, 18:20 UTC
Message-ID
<42D6ACF0.30303@linux.intel.com>
I have the following tree path:
  A   C   B
  |   |
  | 3.|<--.   
  |   |   |
2.|-->'   |
  |       |
1.|------>'
  |

Where A is the root repository for my overlays. B was created by cloning A (1)

B is where development has been progressing. Finding the set of objects to move from A to B is easily obtained via:

  git-rev-list --objects B ^A 

The problem is now when I want to re-sync B with the latest version of A. What I currently do is:

Create a new C tree based on latest A (2) and then merge B back into it (3):

  git-merge-tree -m $(git-merge-base C B) C B

That works great. I now have a tree with all of the latest A code and the B changes applied. The problem is now in getting the list of objects to create the overlay repository.

  cg-log -f -r C:B

Will correctly show only those files that have actually changed between C and B in the first log entry. However, cg-log does not show me the list of tree objects that have changed between C and B.

The problem is that if I run:
  git-rev-list --objects B ^C

It shows me all of the tree and commit objects but also gives a list of all of the files that changed between A and C as if they are needed to move C to B.

Am I overlooking something, misusing things, or ?

Thanks, James

Next: Linus Torvalds
Message 1 of 3 in “Getting list of changed objects...”
  1. James KetrenosJul 14, 2005
  2. Linus TorvaldsJul 14, 2005
  3. James KetrenosJul 14, 2005

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.