0

Our team is developing the same software project on separate PCs(the networking is blocked due to our company rule), which is really a drug. Now, our developing flow is serial. When member A adds a feature, he had to wait B to finish development and get the copy of the B's project. So, here is my question:

  • how to conduct the version control when the networking is not allowed? Is there some best practices for this? Is there some git implementation that allows us to create a git repository with having to setting up the server and the corresponding key, stuff like that?

Any suggestion will be appreciated?

  • Are the two PCs on the same LAN? Why can't you host the git repo on the company's internal private network? – anujm May 28 '16 at 11:20
  • @anujm no, they are separate PCs, I only can copy things among them by USB flash! If I host repos in my company's intranet, The procedures to make them available in the isolated Pcs will really complicated, because I have to get many manager's approval! I wonder if it's possible to first crest a git repo in our internal network, then copy the repo to one of the PCs just once. Then, I just conduct the version control among the separate Pcs. – Jerry.William.Ho May 28 '16 at 11:39
  • No homework detected – Lazy Badger May 28 '16 at 11:45

3 Answers3

1

You can do a git bundle at anytime, and transmit that single file the same way you are currently getting a copy of B's project.

That file act as a git repo and does not need any server setup. Once received by the other party, he/she can simply pull from that file, and get the missing commitments.

I had to develop incremental bundles before.

Transmitting a repo as a single file limit the risk of data corruption during said transfer.

Community
  • 1
  • 1
VonC
  • 1,262,500
  • 529
  • 4,410
  • 5,250
  • Why bundle, not the whole repo for simplicity? – Lazy Badger May 28 '16 at 11:45
  • @LazyBadger The bundle can be the all repo, or just the incremental part of the repo needed by the other party. Again: one file: easier to transfer. – VonC May 28 '16 at 11:48
  • You can't push to bundle (thus- have to have "bundle per location"), I suggested to have (bare?) repo, which 1) is cloned once 2) doesn't require pure file-copy operation later – Lazy Badger May 28 '16 at 11:54
  • @LazyBadger Sure, that could work too. I just assumed no network means bundle. – VonC May 28 '16 at 11:55
0

how to conduct the version control when the networking is not allowed?

Easy, even it's SVN

Is there some best practices for this?

Yes. Keyword "branching and merging"

Is there some git implementation that allows us to create a git repository with having to setting up the server and the corresponding key

Yes. Default oridnary Git with remote, accessible with file:// protocol on both workplaces

Short draft

If everybody have wait to "...get the copy of..." you have NOW method to transfer data from location to location. Thus - just add some things

  • every workplace perform job in own branch
  • On transferred media normal repository is placed, known to local repo as remote target
  • On every location pull|push cycle performed and "foreign" work merged in own branch
  • When both (all) merges are identical (because they can differ at first step), any "workplace-branch" have to be merged to clean-by-convention mainline-branch
Lazy Badger
  • 94,711
  • 9
  • 78
  • 110
0

Another option for git would be to use git format-patch and git apply to exchange changesets in case parallel modifications are required. That is after the initial version of the repository has been copied to the parties.

Mykola Gurov
  • 8,517
  • 4
  • 29
  • 27