| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |\
| | |
| | |
| | |
| | | |
keybase/taruti/cherrypick-for-upstream-clamp-object-timestamp
Clamp object timestamps before unix epoch to unix epoch
|
| | |
| | |
| | |
| | | |
Signed-off-by: Taru Karttunen <taruti@taruti.net>
|
| |/
| |
| |
| |
| |
| |
| |
| | |
When the first line of the pgp signature is an empty line or some header
is malformed it crashes as there's no data for the header element. For
example, if author name is "\n".
Signed-off-by: Javi Fontan <jfontan@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Tag encoding/decoding seems to be a lot more sensitive to requiring the
exact expected format in the object, which generally includes messages
canonicalized so that they have a newline on the end (even if they
didn't before).
As such, the message should be written with the newline (no need for an
extra), and the PGP signature right after that, which will be newline
split already, so there's no need to split it again.
All of this means it's very important for the caller to send the message
in the correct format - which I'm correcting in the next commit.
Signed-off-by: Chris Marchesi <chrism@vancluevertech.com>
|
|/
|
|
|
|
|
|
| |
As with the update in ec3d2a8, tag encoding needed to be corrected to
ensure extra newlines were not being added in during tag object
encoding, so that it did not corrupt the object for verification.
Signed-off-by: Chris Marchesi <chrism@vancluevertech.com>
|
|
|
|
|
|
|
|
|
|
| |
The way that commit signatures were being written out was causing an
extra newline to be written at the end of the commit when the message
encoding was already taking care of this. Ultimately, this results in a
corrupt object, rendering the object unverifiable with the signature in
the commit.
Signed-off-by: Chris Marchesi <chrism@vancluevertech.com>
|
|\
| |
| | |
Improve packfile reading performance
|
| |
| |
| |
| | |
Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
|
| |
| |
| |
| | |
Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
|
| |
| |
| |
| | |
Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The way of reading pgp signatures was searching for pgp begin line in
the header. This caused problems when this string appeared and was not
part of the signature. For example if it appears in the message as an
example or is part of the author name the decoder starts treating it as
a signature. In this state the code was not able to notice then the
header ended so it entered in an infinite loop searching for pgp end
string.
Now it uses the same method as original git. Searches for gpgsig section
in header and starts getting all lines until the next part.
In encoder the string used to add signatures was incorrect. It is now
changed to the proper "gpgsig" string instead of "pgpsig".
Signed-off-by: Javi Fontan <jfontan@gmail.com>
|
|\
| |
| | |
plumbing: object, return ErrFileNotFound in FindEntry. Fixes #883
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
FindEntry will return ErrDirNotFound if the directory doesn't exist. But
it doesn't return a public error if the entry itself is missing. This
exposes the internal error ErrEntryNotFound, so users can
programmatically check for this condition.
Signed-off-by: James Ravn <james@r-vn.org>
|
|/
|
|
| |
Signed-off-by: Marc Barussaud <marc.barussaud@orange.com>
|
|
|
|
|
|
| |
The cache is used in Tree.FindEntry for faster path search.
Signed-off-by: Javi Fontan <jfontan@gmail.com>
|
|
|
|
|
|
|
|
| |
Previously some close errors were losts. This is specially problematic
in go-git as lots of work is done here like generating indexes and
moving packfiles.
Signed-off-by: Javi Fontan <jfontan@gmail.com>
|
|
|
|
| |
Signed-off-by: Saeed Rasooli <saeed.gnu@gmail.com>
|
|
|
|
|
|
| |
Order=LogOrderBSF
Signed-off-by: Saeed Rasooli <saeed.gnu@gmail.com>
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Adds Commit.encode() and Tag.encode() with optional `includeSig`
parameter to include or exclude signature from the encoded object.
|
| |
|
| |
|
|
|
|
|
| |
Test was failing because of the relative time zone attached to the commit.
Adding a fixed location to the time fixes the issue.
|
|\
| |
| | |
plumbing: object, new Commit.Verify method
|
| | |
|
| |
| |
| |
| |
| | |
Commit.Verify() performs PGP verification of a signed commit given an
armored keyring.
|
| |
| |
| |
| | |
Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
|
| | |
|
|/ |
|
| |
|
|\
| |
| | |
plumbing: object, commit.Parent() method
|
| |
| |
| |
| | |
Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
First parents are somewhat special in git.
There's even a --first-parent flag to 'git log'.
Add a helper method to look them up.
This avoids boilerplate and spares the client from
having to arrange for a handle to the Storer,
which is stored in the unexported field Commit.s.
|
|\ \
| | |
| | | |
Add Stats() to Commit
|
| | | |
|
| | |
| | |
| | |
| | | |
Stats() is similar to `git show --stat <hash>`.
|
|/ / |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Add support for signed commits
This change adds `GPGSignature` field to `Commit` object. This is used
to store the signature of the commit, if any.
* Rename gpg to pgp
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When the revlist is computing the set of hashes needed to transfer, it
doesn't need to walk over commits it has already processed. So, it
can instruct the commit walker not to walk those commits by passing in
its own `seen` map.
For a 36K object repo, this brought the time for `revlist.Objects`
down from 50s to 30s.
|
| |
| |
| |
| |
| |
| |
| | |
This helps avoids iterating down the same trees for every commit. For
a big-ish repo with 35K objects (17K commits), this reduced the time
for calling `revlist.Objects` during a push (with 0 hashes to ignore)
from more than ten minutes to less than a minute.
|
|/
|
| |
*stopped instead of stop
|
| |
|
| |
|
|
|
|
|
| |
Use Iter suffix, just as all other iterators in the project.
Use Preorder and Postorder to be more clear.
|
|
|
|
|
|
|
|
|
| |
- Added Patch interface
- Added a Unified Diff encoder from Patches
- Added Change method to generate Patches
- Added Changes method to generate Patches
- Added Tree method to generate Patches
- Added Commit method to generate Patches
|
| |
|
| |
|