root
cd90cea0fe
Put the main loop for the git protocol in a function
2013-01-06 18:20:39 -07:00
root
2261a5e7af
Fix minor coding style and cleanup local variables
2012-11-16 04:57:54 -08:00
root
575b919143
Don't show errors from git fetch when using the git backend
2013-01-22 09:24:36 +02:00
root
fc191d5b3c
Use a function for cleanup at exit
2012-12-13 21:02:14 +04:00
root
d85190ef51
README: Fix to use remote id
2012-11-29 07:45:29 +05:00
root
b54768df01
Simplify formatting of the manifest
2012-11-07 07:21:51 +09:00
root
181bf7f38b
Use append_to
2012-10-27 22:40:19 -07:00
root
d1fc6292a9
Group modifiable globals together
2013-01-11 11:01:06 +03:00
root
872e82a427
Update license text
2012-11-16 03:47:51 -03:00
root
feca906231
Use set -u (no unset vars)
2012-12-15 13:37:51 +05:00
root
d6d8d565c9
Use return variables for Goodsig and Signers
2012-12-02 00:41:09 -02:00
root
6e90c21c87
Use setvar for return variables
2012-11-22 03:37:24 +08:00
root
2a65af1d20
Update Gref_rbranch when connecting
2012-12-16 09:01:02 +00:00
root
007bfb29de
Fix markup of Repository Format section
2013-01-03 16:31:03 +01:00
root
aeb3135bcb
Edit README
2013-01-20 19:22:44 +08:00
root
85e65ca48e
Organize the README in a neat way, putting extra info in the Notes chapter
2013-02-14 00:00:00 +00:00
root
cc3fd5b985
Edit the summary of the repository format/process
2013-02-14 00:00:00 +00:00
root
b6cd6f7138
Tone down the development version warnings
...
We have now implemented the usability changes (No fragment in repository
URL, and default encrypt-to-self), so no big changes planned.
2013-02-14 00:00:00 +00:00
root
eb4b324542
Use a shorter, simpler repo ID since users will see it (occasionally)
2013-02-14 00:00:00 +00:00
root
64eb50b695
Automatically forward-port repository config
...
Change remote configurations when encountered:
* gcrypt::ssh -> gcrypt::rsync
* repo/G.XXXX -> #XXX
* gitception:// -> ""
2013-02-14 00:00:00 +00:00
root
789cb4d7c3
Update README for remote.<name>.gcrypt-participants and default simple mode
2013-02-14 00:00:00 +00:00
root
4f04d2d43b
Encrypt to self by default; basic functionality now needs no configuration
...
Introduces gcrypt.participants "simple" mode which encrypts to self, and
accepts any valid signature by default. No configuration needed for
private repositories.
We also adds remote.<name>.gcrypt-participants to configure this per
remote.
2013-02-14 00:00:00 +00:00
root
14da0a4d33
Migrate to SHA-256 and implicit repo ID (PARTIAL REPO FORMAT CHANGE)
...
* local, rsync, ssh, sftp repositories are still compatible
* gitception/git backend repositories are not compatible and need to be
deleted and recreated
* Put manifest in a static location, so we don't need #fragment in the URL
* Record repository ID for each remote, and warn if it changes.
* Use SHA-256 by default but allow reading SHA-224-identified packfiles
* The URL #fragment identifies branch to use when using the git backend
2013-02-14 00:00:00 +00:00
root
4d28d8fe4d
Do not use grep -F (busybox incompatible)
2013-02-14 00:00:00 +00:00
root
402eca0a09
Give warning about future format change
2013-02-14 00:00:00 +00:00
root
5c16aa4bda
Allow user to set $GCRYPT_FULL_REPACK to force repack of remote
2013-02-14 00:00:00 +00:00
root
2cac13417a
Unify all uses of trap
2013-02-14 00:00:00 +00:00
root
5751a91aef
Factor out common code in do_fetch and repack
2013-02-14 00:00:00 +00:00
root
80ac8a61e2
Use normal "url-safe" variant of base64 for repo url fragment
2013-02-14 00:00:00 +00:00
root
677df0e31b
Use rsync for both rsync and ssh access
2013-02-14 00:00:00 +00:00
root
68ff0eb7c4
Document the keep field
2013-02-14 00:00:00 +00:00
root
96b7608966
Repack the encrypted remote regularly
...
Use a simple but slow method of repacking the remote repository.
Download (and verify) all packs not marked 'keep', and repack those into
a new packfile. The new packfile is marked 'keep' with generation 1.
After PUT is called on the manifest, we remove the redundant old
packfiles.
The generation number will allow further iterations of repacking to be
implemented later.
2013-02-14 00:00:00 +00:00
root
6f0af6d0ff
Simplify informational output to emphasize the new repo URL
2013-02-14 00:00:00 +00:00
root
3a7f96671e
Add ./install.sh to install git-remote-gcrypt and its man page
2013-02-14 00:00:00 +00:00
root
f1614d70ec
Parameterise type of hash used
2013-02-14 00:00:00 +00:00
root
fc6d0b6e71
Fix iseq for null strings
2013-02-14 00:00:00 +00:00
root
bb0f05e03a
Document manifest fields better
2013-02-14 00:00:00 +00:00
root
7aa54e1ae6
Use config gcrypt.participants for GPG key ids
...
Instead of using a separate keyring file (gcrypt.keyring is now
deprecated!), use a simple list of key ids. Extract all keyids and use
these to match GOODSIG <keyid> manually on the gpg status output.
The gcrypt.keyring variable is still used, but it will be removed later.
2013-02-14 00:00:00 +00:00
root
6173d0ffe0
Use URL fragment for repository id instead of G.*
2013-02-14 00:00:00 +00:00
root
192befdb62
Request signature on manifest before uploading pack
...
Just to ensure that the user signs the push before we upload any files
(pack or manifest) to the remote.
2013-02-14 00:00:00 +00:00
root
b1f7d3ec22
Support rsync://
2013-02-14 00:00:00 +00:00
root
e2de0ce73f
Simply detect if using git repository backend. gitception:// is unneeded
...
Simply treat absolute paths that do not lead to a HEAD file as local
directory backends, and all other as git backends.
2013-02-14 00:00:00 +00:00
root
853dae8914
Use grep instead of sort/uniq
2013-02-14 00:00:00 +00:00
root
0a1730741c
Update README
2013-02-14 00:00:00 +00:00
root
fdb2732abb
Use batch-check to use only the remote_has commits we also have locally
2013-02-14 00:00:00 +00:00
root
8e1246e738
Allow deleting remote refs
2013-02-14 00:00:00 +00:00
root
543ca86029
Only encrypt to keys with encrypt capability
2013-02-14 00:00:00 +00:00
root
aa4b80db7f
Update README so it can generate a man page with rst2man
2013-02-14 00:00:00 +00:00
root
dc2d0b34b1
Minor cleanup (make sure used variables are clear at start)
2013-02-14 00:00:00 +00:00
root
6c203aaa77
Add extension namespace in manifest files, 'extn' lines are preserved
2013-02-14 00:00:00 +00:00