threads / discuss / 34286

Off-line deverloper workflow?

Subject: Off-line deverloper workflow?

## tl;dr

10 messages between Jun 27, 2013 and Jun 27, 2013.

replies: 9people: 6as markdown or json

Woody Wu· Jun 27, 2013, 12:46 UTC · lore
Hi,

I have a colleague who has to left our office for three month, but still need to work on the project which is hosted on our in-office git repository. Problem is that our company has firewall, it's not possible or not allowed to access the company LAN outside the building. So I want to ask you expert, can you suggest a best practice of git workflow that suitable to my situation?

Thanks in advance.
-woody
Fredrik Gustafsson· Jun 27, 2013, 12:58 UTC · re: Woody Wu · lore

Re: Off-line deverloper workflow?

On Thu, Jun 27, 2013 at 08:46:56PM +0800, Woody Wu wrote:
Show 8 quoted lines
> Hi,
> 
> I have a colleague who has to left our office for three month, but still
> need to work on the project which is hosted on our in-office git
> repository. Problem is that our company has firewall, it's not possible
> or not allowed to access the company LAN outside the building.  So I
> want to ask you expert, can you suggest a best practice of git workflow
> that suitable to my situation?

There's a number of ways that git can communicate with an other git repo. However, communication needs access. You can for example e-mail changes or sen them as files manually with git sneakernet functionality. However those cases would be as bad (or worse) than to open your firewall.

The "best" solution would be a remote repository outside your firewall where your inhouse team and your outhouse developer can share stuff with eachother. However the securitry for this special project will be lower. (Maybe this isn't an important project to you, I don't know). This repository can be at your inhouse-site, at your developer or at some third part. Use ssh with keys and passphrases to communicate.

Keep in mind that a git repository contains all of your source history. Your security for that source code will be whatever security your outhouse developer has. If he fails with his security, there's no meaning with having great inhouse security.

If this isn't an option I would suggest that you establish an encrypted sneakernet (for example over UPS/bike messengers/whatever) between your developer and your office. Or just ask yourself if your security settings really is sane.

-- 
Med vänliga hälsningar
Fredrik Gustafsson

tel: 0733-608274
e-post: iveqy@iveqy.com
Tim Chase· Jun 27, 2013, 13:06 UTC · re: Woody Wu · lore

Re: Off-line deverloper workflow?

On 2013-06-27 20:46, Woody Wu wrote:
Show 6 quoted lines
> I have a colleague who has to left our office for three month, but
> still need to work on the project which is hosted on our in-office
> git repository. Problem is that our company has firewall, it's not
> possible or not allowed to access the company LAN outside the
> building.  So I want to ask you expert, can you suggest a best
> practice of git workflow that suitable to my situation?

It would help to know a little more about the information flow and the starting conditions.

- Was a clone of code made before leaving your office or does your
  colleague need to obtain the initial copy too?
- How securely do you need to transfer matters?  (email?  shared
  external service like Dropbox/Box.com/etc)
- How frequently do updates need to be made?
- In which direction do commits flow?  Just from your colleague back
  to the office, or are there other updates happening in the office
  that your colleague needs to pull down to keep in sync?

Without such answers, it's a little hard to suggest more than transmitting either patch files or bundles using any of the following: email, a shared cloud drive, a shared host out accessible on the net, or sneakernet media (flash-drive or CD/DVD, perhaps via the postal system), or possibly other means.

You may want to read more at
  git help format-patch
  git help am
  git help bundle
-tkc
Woody Wu· Jun 27, 2013, 13:37 UTC · re: Tim Chase · lore

Re: Off-line deverloper workflow?

On Thu, Jun 27, 2013 at 08:06:05AM -0500, Tim Chase wrote:
Show 13 quoted lines
> On 2013-06-27 20:46, Woody Wu wrote:
> > I have a colleague who has to left our office for three month, but
> > still need to work on the project which is hosted on our in-office
> > git repository. Problem is that our company has firewall, it's not
> > possible or not allowed to access the company LAN outside the
> > building.  So I want to ask you expert, can you suggest a best
> > practice of git workflow that suitable to my situation?
> 
> It would help to know a little more about the information flow and
> the starting conditions.
> 
> - Was a clone of code made before leaving your office or does your
>   colleague need to obtain the initial copy too?
Yes, he had a clone already.
> 
> - How securely do you need to transfer matters?  (email?  shared
>   external service like Dropbox/Box.com/etc)
I prefer email.
> 
> - How frequently do updates need to be made?
> 
Maybe once several days.
> - In which direction do commits flow?  Just from your colleague back
>   to the office, or are there other updates happening in the office
>   that your colleague needs to pull down to keep in sync?

Bi-direction, means my colleague and my in-house team need to modify the code.

Show 18 quoted lines
> 
> Without such answers, it's a little hard to suggest more than
> transmitting either patch files or bundles using any of the following:
> email, a shared cloud drive, a shared host out accessible on the net,
> or sneakernet media (flash-drive or CD/DVD, perhaps via the postal
> system), or possibly other means.
> 
> You may want to read more at
> 
>   git help format-patch
>   git help am
>   git help bundle
> 
> -tkc
> 
> 
> 
> 
-- 
I can't go back to yesterday - because I was a different person then
Johan Herland· Jun 27, 2013, 13:14 UTC · re: Woody Wu · lore

Re: Off-line deverloper workflow?

On Thu, Jun 27, 2013 at 2:46 PM, Woody Wu <narkewoody@gmail.com> wrote:
Show 6 quoted lines
> I have a colleague who has to left our office for three month, but still
> need to work on the project which is hosted on our in-office git
> repository. Problem is that our company has firewall, it's not possible
> or not allowed to access the company LAN outside the building.  So I
> want to ask you expert, can you suggest a best practice of git workflow
> that suitable to my situation?

If he can set up an SSH server on his machine (outside the company network), then he can set up a mirror repo on his machine, where you can push changes from the office to him, and pull changes from him back into the office. Of course, you will probably need to synchronize this with him, especially if he's travelling and frequently offline or changing IP addresses. Also you need to be able to make outbound SSH connections through the company firewall, but AFAICS that is usually allowed.

His work repo is then a local clone of the mirror repo, and when he's ready to publish some work to you, he pushes it to the mirror repo, and asks you to pull from the mirror repo.

If the source code is not secret, you could even synchronize through GitHub or some other repo hosting service, which would be even easier to set up.

Hope this helps,
...Johan
Show 8 quoted lines
> Thanks in advance.
>
> -woody
>
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
-- 
Johan Herland, <johan@herland.net>
www.herland.net
Woody Wu· Jun 27, 2013, 13:41 UTC · re: Johan Herland · lore

Re: Off-line deverloper workflow?

On Thu, Jun 27, 2013 at 03:14:05PM +0200, Johan Herland wrote:
Show 16 quoted lines
> On Thu, Jun 27, 2013 at 2:46 PM, Woody Wu <narkewoody@gmail.com> wrote:
> > I have a colleague who has to left our office for three month, but still
> > need to work on the project which is hosted on our in-office git
> > repository. Problem is that our company has firewall, it's not possible
> > or not allowed to access the company LAN outside the building.  So I
> > want to ask you expert, can you suggest a best practice of git workflow
> > that suitable to my situation?
> 
> If he can set up an SSH server on his machine (outside the company
> network), then he can set up a mirror repo on his machine, where you
> can push changes from the office to him, and pull changes from him
> back into the office. Of course, you will probably need to synchronize
> this with him, especially if he's travelling and frequently offline or
> changing IP addresses. Also you need to be able to make outbound SSH
> connections through the company firewall, but AFAICS that is usually
> allowed.

Outbound ssh to me is not a problem, but inbound ssh to him may be a big problem. You know hotel firewall or some home ADSL don't allow that.

> 
> His work repo is then a local clone of the mirror repo, and when he's
> ready to publish some work to you, he pushes it to the mirror repo,
> and asks you to pull from the mirror repo.
Show 24 quoted lines
> 
> If the source code is not secret, you could even synchronize through
> GitHub or some other repo hosting service, which would be even easier
> to set up.
> 
> 
> Hope this helps,
> 
> ...Johan
> 
> > Thanks in advance.
> >
> > -woody
> >
> > --
> > To unsubscribe from this list: send the line "unsubscribe git" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> 
> 
> -- 
> Johan Herland, <johan@herland.net>
> www.herland.net
-- 
I can't go back to yesterday - because I was a different person then
Johan Herland· Jun 27, 2013, 13:47 UTC · re: Woody Wu · lore

Re: Off-line deverloper workflow?

On Thu, Jun 27, 2013 at 3:41 PM, Woody Wu <narkewoody@gmail.com> wrote:
Show 20 quoted lines
> On Thu, Jun 27, 2013 at 03:14:05PM +0200, Johan Herland wrote:
>> On Thu, Jun 27, 2013 at 2:46 PM, Woody Wu <narkewoody@gmail.com> wrote:
>> > I have a colleague who has to left our office for three month, but still
>> > need to work on the project which is hosted on our in-office git
>> > repository. Problem is that our company has firewall, it's not possible
>> > or not allowed to access the company LAN outside the building.  So I
>> > want to ask you expert, can you suggest a best practice of git workflow
>> > that suitable to my situation?
>>
>> If he can set up an SSH server on his machine (outside the company
>> network), then he can set up a mirror repo on his machine, where you
>> can push changes from the office to him, and pull changes from him
>> back into the office. Of course, you will probably need to synchronize
>> this with him, especially if he's travelling and frequently offline or
>> changing IP addresses. Also you need to be able to make outbound SSH
>> connections through the company firewall, but AFAICS that is usually
>> allowed.
>
> Outbound ssh to me is not a problem, but inbound ssh to him may be a big
> problem. You know hotel firewall or some home ADSL don't allow that.
In that case, you will need either:

A) A third machine, accessible from both you and him (preferably over SSH), where you can store the repo. I don't know what your company infrastructure looks like, but maybe it's possible to setup a server in the DMZ outside your company firewall?

B) Use a more manual mechanism like emailing bundles (as explained by Jean-Noël).

...Johan
-- 
Johan Herland, <johan@herland.net>
www.herland.net
Jean-Noël Avila· Jun 27, 2013, 13:43 UTC · re: Woody Wu · lore

Re: Off-line deverloper workflow?

Le 27/06/2013 14:46, Woody Wu a écrit :
Show 17 quoted lines
> Hi,
>
> I have a colleague who has to left our office for three month, but still
> need to work on the project which is hosted on our in-office git
> repository. Problem is that our company has firewall, it's not possible
> or not allowed to access the company LAN outside the building.  So I
> want to ask you expert, can you suggest a best practice of git workflow
> that suitable to my situation?
>
> Thanks in advance.
>
> -woody
>
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

For a short time, I had the same issue. We came up using "git bundle" to bundle changes and exchange them via email.

The setup was to work in two separate branches. The roaming developper started a new branch when leaving. After some work, she sent the commits on her branch as a bundle file. The origin merged the branch extracted from the developper's bundle and sent back the bundle of the changes on origin since the last merge.

No doubt that both side need to understand well the workflow of fetch/merge. Bundle files can be encrypted for better security.

Hope this helps.
JN
Woody Wu· Jun 27, 2013, 13:58 UTC · re: Jean-Noël Avila · lore

Re: Off-line deverloper workflow?

On Thu, Jun 27, 2013 at 03:43:51PM +0200, Jean-No?l Avila wrote:
Show 32 quoted lines
> Le 27/06/2013 14:46, Woody Wu a écrit :
> >Hi,
> >
> >I have a colleague who has to left our office for three month, but still
> >need to work on the project which is hosted on our in-office git
> >repository. Problem is that our company has firewall, it's not possible
> >or not allowed to access the company LAN outside the building.  So I
> >want to ask you expert, can you suggest a best practice of git workflow
> >that suitable to my situation?
> >
> >Thanks in advance.
> >
> >-woody
> >
> >--
> >To unsubscribe from this list: send the line "unsubscribe git" in
> >the body of a message to majordomo@vger.kernel.org
> >More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> For a short time, I had the same issue. We came up using "git
> bundle" to bundle changes and exchange them via email.
> 
> The setup was to work in two separate branches. The roaming
> developper started a new branch when leaving. After some work, she
> sent the commits on her branch as a bundle file. The origin merged
> the branch extracted from the developper's bundle and sent back the
> bundle of the changes on origin since the last merge.
> 
> No doubt that both side need to understand well the workflow of
> fetch/merge. Bundle files can be encrypted for better security.
> 
> Hope this helps.

Many thanks, this method sounds suitable to me. I will go the learn anything about 'bundle'.

Have a nice day!
> 
> JN
-- 
I can't go back to yesterday - because I was a different person then
Junio C Hamano· Jun 27, 2013, 17:17 UTC · re: Jean-Noël Avila · lore

Re: Off-line deverloper workflow?

Jean-Noël Avila <avila.jn@gmail.com> writes:
Show 11 quoted lines
> For a short time, I had the same issue. We came up using "git bundle"
> to bundle changes and exchange them via email.
> 
> The setup was to work in two separate branches. The roaming developper
> started a new branch when leaving. After some work, she sent the
> commits on her branch as a bundle file. The origin merged the branch
> extracted from the developper's bundle and sent back the bundle of the
> changes on origin since the last merge.
>
> No doubt that both side need to understand well the workflow of
> fetch/merge. Bundle files can be encrypted for better security.
Yes, the above describes exactly what "bundle" was invented for.

← back to recent threads