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.

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 ).

Hope that helps.

Ta da; solved (*)

Philip

(*) doesn't need me to work on my computer ;-)


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


Background: I'm doing maintenance work on a project called "Realistic Fluids Overhaul". The original for this was at https://bitbucket.org/4HeadTiger/minecraft-finite-fluids ; my current version is at https://github.com/keybounce/Finite-Fluids

This is a forge mod for minecraft; as far as this question is concerned, this means that there are some "template" compilation scripts (gradle based) that assume that the code is located at ROOT/src/main/...

4Head did work on an improved 2.0 version, that I wanted to work with, and start merging improvements in from. (NB: His 2.0 has not had a commit in about 14 months, and is not ready as-is).

Recently, thanks to the discussion on this list, I came to understand that just because my repository on my disk was cloned from his, and has a "master" branch that is based on that first edition's master, this does not prevent me from adding his new 2.0 repository (fetching / remote branches) to mine, so I can do a read only check out, or pull some of those files into my current HEAD.

So far, so good. Right?

Well, here is my problem, and the question: 4Head set up that repository, and did his push, from the src directory, not from the root.

This means that anyone attempting to use it has two issues:
1. Redetermine the customizations to the gradle build script (a pain, but probably resolvable with an email to him to get it), and
2. All the files are in the wrong place!

So if I want to do a "git checkout rfo2/master", and get a read-only copy of the files to look at, everything checks out in the wrong directory, and cannot be built even if I had the proper build script.

What is the best way to deal with this? I mean, one obvious solution would be to do the checkout in the wrong directory, a mkdir + mv to fix the directory, and then a branch and commit to get things in the right place. Since all of the files are the same, they reuse the git blobs, and only one new filetree blob is needed.

But:
1. Can I do a branch and commit from inside a remote tracking branch? (That question alone probably explains my lack of understanding of what's going on). 2. If 4HeadTiger does come back and do something, how the bleep do I keep my modified branch in sync with his? Again, it's supposed to be a read-only copy of what he's doing and yet I have to do a commit to fix a major whoops.

---
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