[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Orgmode] Re: problems cloning using the http protocol
From: |
Bernt Hansen |
Subject: |
[Orgmode] Re: problems cloning using the http protocol |
Date: |
Tue, 14 Jul 2009 13:17:51 -0400 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.2 (gnu/linux) |
Scot Becker <address@hidden> writes:
> Just tried:
> git clone http://repo.or.cz/r/org-mode.git
>
> behind my corporate firewall, and it worked. It's slow, however.
HTTP will always be slower than the git protocol. HTTP is dumb so there
is no way to transfer only part of a pack that contains the objects you
are missing. You'll get the entire pack file each time via the HTTP
protocol.
> So I don't think the problem is on the server end. Did you try any
> other projects (using git+http proxy)?
>
> I don't suppose anyone knows how to git org develpment releases
> sometimes behind an http proxy and sometimes directly (as on a laptop
> that is sometimes behind a firewall, and sometimes not.) I couldn't
> make this to work.
There are multiple options
------------------------------------------------------------------------
UNTESTED
You might be able to get away with creating a second remote for the
project like this:
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = http://repo.or.cz/r/org-mode.git
[remote "origin2"]
url = git://repo.or.cz/org-mode.git
fetch = +refs/heads/*:refs/remotes/origin/*
then
git fetch origin
uses the HTTP protocol
and
git fetch origin2
uses the git protocol
You can set up origin to be whichever you use more often (or switch as
required.) The only differences between these remotes are:
- name of the remote - you can name it anything you like
- the fetch = lines are identical - using the same remote ref
'refs/remotes/origin'. This should work okay since the repos are
physically the same
- the url specifies the transport method to use.
------------------------------------------------------------------------
Just use two remotes
origin for your fast git protocol access
http for your slow http protocol access
then you'll have remotes like origin/master and http/master
If you can't git pull origin, you can manually git fetch http and git
merge http/master or whatever is appropriate
------------------------------------------------------------------------
I carry my org-mode.git around on my USB stick -- so I can just
clone/pull/fetch from that without internet access. I'll update my
workstation/laptop repo when it has net access and then push to the usb
stick.
HTH,
Bernt