##// END OF EJS Templates
lfs: verify lfs object content when transferring to and from the remote store...
lfs: verify lfs object content when transferring to and from the remote store This avoids inserting corrupt files into the usercache, and local and remote stores. One down side is that the bad file won't be available locally for forensic purposes after a remote download. I'm thinking about adding an 'incoming' directory to the local lfs store to handle the download, and then move it to the 'objects' directory after it passes verification. That would have the additional benefit of not concatenating each transfer chunk in memory until the full file is transferred. Verification isn't needed when the data is passed back through the revlog interface or when the oid was just calculated, but otherwise it is on by default. The additional overhead should be well worth avoiding problems with file based remote stores, or buggy lfs servers. Having two different verify functions is a little sad, but the full data of the blob is mostly passed around in memory, because that's what the revlog interface wants. The upload function, however, chunks up the data. It would be ideal if that was how the content is always handled, but that's probably a huge project. I don't really like printing the long hash, but `hg debugdata` isn't a public interface, and is the only way to get it. The filelog and revision info is nowhere near this area, so recommending `hg verify` is the easiest thing to do.

File last commit:

r34626:f1c2552c default
r35492:417e8e04 default
Show More
rules
44 lines | 1.8 KiB | text/plain | TextLexer
Augie Fackler
debian: switch to using debhelper and dh_python2 to build debs...
r26148 #!/usr/bin/make -f
# Uncomment this to turn on verbose mode.
# export DH_VERBOSE=1
CPUS=$(shell cat /proc/cpuinfo | grep -E ^processor | wc -l)
%:
dh $@ --with python2
override_dh_auto_test:
http_proxy='' dh_auto_test -- TESTFLAGS="-j$(CPUS)"
override_dh_python2:
dh_python2
find debian/mercurial/usr/share -type d -empty -delete
override_dh_install:
muxator
build: "make deb" failed when the base path contained spaces...
r34626 python$(PYVERS) setup.py install --root "$(CURDIR)"/debian/mercurial --install-layout=deb
Kyle Lippincott
deb: build and install chg...
r34407 # chg
make -C contrib/chg \
muxator
build: "make deb" failed when the base path contained spaces...
r34626 DESTDIR="$(CURDIR)"/debian/mercurial \
Kyle Lippincott
deb: build and install chg...
r34407 PREFIX=/usr \
clean install
Augie Fackler
debian: switch to using debhelper and dh_python2 to build debs...
r26148 # remove arch-independent python stuff
muxator
build: "make deb" failed when the base path contained spaces...
r34626 find "$(CURDIR)"/debian/mercurial/usr/lib \
Augie Fackler
debian: switch to using debhelper and dh_python2 to build debs...
r26148 ! -name '*.so' ! -type d -delete , \
-type d -empty -delete
muxator
build: "make deb" failed when the base path contained spaces...
r34626 python$(PYVERS) setup.py install --root "$(CURDIR)/debian/mercurial-common" --install-layout=deb
make install-doc PREFIX="$(CURDIR)"/debian/mercurial-common/usr
Augie Fackler
debian: switch to using debhelper and dh_python2 to build debs...
r26148 # remove arch-dependent python stuff
muxator
build: "make deb" failed when the base path contained spaces...
r34626 find "$(CURDIR)"/debian/mercurial-common/usr/lib \
Augie Fackler
debian: switch to using debhelper and dh_python2 to build debs...
r26148 -name '*.so' ! -type d -delete , \
-type d -empty -delete
muxator
build: "make deb" failed when the base path contained spaces...
r34626 cp contrib/hg-ssh "$(CURDIR)"/debian/mercurial-common/usr/bin
mkdir -p "$(CURDIR)"/debian/mercurial-common/usr/share/mercurial
cp contrib/hgk "$(CURDIR)"/debian/mercurial-common/usr/share/mercurial
mkdir -p "$(CURDIR)"/debian/mercurial-common/etc/mercurial/hgrc.d/
cp contrib/debian/*.rc "$(CURDIR)"/debian/mercurial-common/etc/mercurial/hgrc.d/
Kyle Lippincott
deb: build and install chg...
r34407 # completions
muxator
build: "make deb" failed when the base path contained spaces...
r34626 mkdir -p "$(CURDIR)"/debian/mercurial-common/usr/share/bash-completion/completions
cp contrib/bash_completion "$(CURDIR)"/debian/mercurial-common/usr/share/bash-completion/completions/hg
mkdir -p "$(CURDIR)"/debian/mercurial-common/usr/share/zsh/vendor-completions
cp contrib/zsh_completion "$(CURDIR)"/debian/mercurial-common/usr/share/zsh/vendor-completions/_hg
rm "$(CURDIR)"/debian/mercurial-common/usr/bin/hg