Michael,

I noted a few point via ### 'cos my email client didn't quote your email...

----- Original Message ----- From: "Michael" <keybou...@gmail.com>
To: <git-users@googlegroups.com>
Sent: Thursday, January 19, 2017 9:55 PM
Subject: Re: [git-users] Working with a badly rooted project



On 2017-01-19, at 1:39 PM, Philip Oakley <philipoak...@iee.org> wrote:

Michael,

There should be no problem..

First you / Git can host multiple independent branches / lines of development -- see 'orphan' branches.

Second, You say one was forked from the other so they have the same base commit, so they would simply be part of the same growing tree once you have fetched/pulled in both remotes.

Yes; my maintenance fork of version 1 is based on his version 1, and that's no problem. It's the version 2 code that's my concern (unrelated root)

### OK I see now. See also https://public-inbox.org/git/A2198B6A63224EA79526B7A8BA081B37@PhilipOakley/T/#m483176f6a5a30b1d5f53822117da0b8f75124ac3 which is my bikeshed a few minutes ago on a similar problem. Basically cheating with a 'replace'.

Third, you can then merge the different parts back together. I believe there are sub-tree merge options as well to allow disparate tree stuctures to be accomodated at the correct point in the merge as well. (Just need to resolve where to push back upstream, PR/patch flow, etc)

I had a quick web view of the top level structure and didn't see the problem you were expecting (beyond the need to add a readme about How to determine the customizations to the gradle build script - resolvable with an email to get it ).

Well, here's his top level:
keybounceMBP:Finite-Fluids michael$ git cat-file -p rfo2/master
tree 9d1987a5ea24f1e8667374104f637116d95d802d
parent fa4639d3d714a2056719b3903591c070f4a24ed6
author 4HeadTiger <mannaoli...@yahoo.com.au> 1445933676 +0000
committer 4HeadTiger <mannaoli...@yahoo.com.au> 1445933676 +0000

README.md edited online with BitbucketkeybounceMBP:Finite-Fluids michael$
keybounceMBP:Finite-Fluids michael$ git cat-file -p 9d1987
100644 blob e5b9c5bb184f70c759c9fb411d4d922afab5b658    .gitignore
100644 blob a4e8c2f6462c80d750c071cdb1cd012e79e34a9d    README.md
040000 tree c970b62fe742886813b175372c54f85b48c7f4e3    main
100644 blob 53fbb6b275a491aa18f8dfacb6cdfe2a6b93c68f    view distances.xlsx
keybounceMBP:Finite-Fluids michael$

(By the way, I love that command now.)

Versus
keybounceMBP:Finite-Fluids michael$ git cat-file -p master
tree 29b14cafb7b6bccffb078ee01a701b6780c31787
parent 9523196cb27f7dfe978d59af6cefc58e6d46155e
parent 92d4b69e67129ae20c563d2a7afdbf4950eab327
author keybounce <michael-git...@stb04.nccom.com> 1473915999 -0700
committer keybounce <michael-git...@stb04.nccom.com> 1473915999 -0700

Merge branch 'release/a5.4-FixedWarnings'
keybounceMBP:Finite-Fluids michael$ git cat-file -p 29b14c
100644 blob 2431a9b4c83e83ad006cdd8bb326086d9fbf54ac    .gitignore
100644 blob e019add2546273850e4ead52206d8f6795742602    MANIFEST.MF
100644 blob 43c8ed9e378f0c557dc77bca36e8ffd45554841b    README.md
100644 blob 56e171301886ff2e0a3b920c7953694314fbfa18    build.gradle
100644 blob 646a0cb1f11e4a895d97533786dd198f1646d54f    buildscript.bat
040000 tree a967b8e5682a610a47d99e897152a04328e788df    eclipse
040000 tree 45aff34ac3d4e7ac8983bd89b44029140cce0661    src

So there's a manifest file for building the java jar file, two build files, and a folder for the IDE's settings, plus the src directory that contains src/main ("main" was the only thing here in his repository).

And yes, what I did was
529 git remote -v add rfo2 https://bitbucket.org/4HeadTiger/minecraft-finite-fluids-v2.0.git
 530  git fetch rfo2
 531  git status

 536  git checkout rfo2/master

 581  rm -rf src
 582  git status
 583  mkdir src
 584  git mv main src/main

 621  git checkout -b rfo2-initial

 626  git branch -m rfo2-initial rfo2/initial

 637  git branch -m rfo2/initial rfo2l/initial

(and yes, about 75 commands to see if what I was doing made sense or not.)

I discovered that I can have "directories" of branches.
Then realized that I did not want a directory to have the same name as the remote name.

### This one is the main thing, the refs/remotes/ heirachy is available to you without needing to create a personal copy. It's something that took me a long time to learn - see
https://public-inbox.org/git/69D7BD4F1C8A46C2AEBD261FE8317EAC@PhilipOakley/#r
https://public-inbox.org/git/1406920826-4680-1-git-send-email-philipoak...@iee.org/#r for my misunderstanding which resulted in a wrong patch!

Git detected the moved files, and committed them as such (Which brings up the question: If git only stores a file as its hash, how does it track file move/renames?)

My big question at this point: If 4Head does any more work, or if I wanted to work with his "Experimental" branch, since I've done a big "move everything into a new location", how will that mesh?

### I think that's either a sub-tree merge thing, or you may need a small script that munges one structure to the other. Though a discussion with the other usptream contributer may help as well.

---
Entertaining minecraft videos
http://YouTube.com/keybounce

--
You received this message because you are subscribed to the Google Groups "Git for human beings" group. To unsubscribe from this group and stop receiving emails from it, send an email to git-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Git for 
human beings" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to git-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to