##// END OF EJS Templates
changegroup: refactor delta parent code...
changegroup: refactor delta parent code We had recently abstracted the delta parent functions to facilitate extracting code from cgpacker. Now that we're in a better place, it is time to revisit the design. Changegroup version 1 requires that the previous node be used as the delta parent. Later versions allow any available node to be used as the base. In the case where an arbitrary parent can be used, the choice of a delta parent is best left in the hands of the storage backend. So it makes sense for the delta parent selection to be hidden away in the storage layer. This means deferring the choice of the delta parent selection function to as close to delta generation time as possible. This commit moves the delta selection logic to essentially just before delta generation. However, because changegroup version 1 limits what we can do, we have retained the ability to force a delta against the previous revision. As part of this, I realized that the ellipsis parent function was unused! That's because ellipsis mode always sends full revisions and not deltas. Differential Revision: https://phab.mercurial-scm.org/D4214

File last commit:

r34656:01c57eeb default
r39053:ef3d3a2f default
Show More
Makefile
40 lines | 823 B | text/x-makefile | MakefileLexer
Yuya Nishihara
chg: import frontend sources...
r28060 TARGET = chg
Jun Wu
chg: add procutil.h...
r30693 SRCS = chg.c hgclient.c procutil.c util.c
Yuya Nishihara
chg: import frontend sources...
r28060 OBJS = $(SRCS:.c=.o)
CFLAGS ?= -O2 -Wall -Wextra -pedantic -g
Mathias De Maré
chg: define _GNU_SOURCE to allow CentOS 5 compilation...
r33666 CPPFLAGS ?= -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE
Yuya Nishihara
chg: import frontend sources...
r28060 override CFLAGS += -std=gnu99
Jun Wu
chg: allows default hg path to be overridden...
r28605 ifdef HGPATH
override CPPFLAGS += -DHGPATH=\"$(HGPATH)\"
endif
Yuya Nishihara
chg: import frontend sources...
r28060
DESTDIR =
PREFIX = /usr/local
MANDIR = $(PREFIX)/share/man/man1
.PHONY: all
all: $(TARGET)
$(TARGET): $(OBJS)
$(CC) $(LDFLAGS) -o $@ $(OBJS)
Jun Wu
chg: add procutil.h...
r30693 chg.o: hgclient.h procutil.h util.h
Jun Wu
chg: handle pager request client-side...
r30738 hgclient.o: hgclient.h procutil.h util.h
Jun Wu
chg: add procutil.h...
r30693 procutil.o: procutil.h util.h
Yuya Nishihara
chg: import frontend sources...
r28060 util.o: util.h
.PHONY: install
install: $(TARGET)
muxator
build: chg build was failing when the base directory contained spaces
r34625 install -d "$(DESTDIR)$(PREFIX)"/bin
install -m 755 "$(TARGET)" "$(DESTDIR)$(PREFIX)"/bin
install -d "$(DESTDIR)$(MANDIR)"
install -m 644 chg.1 "$(DESTDIR)$(MANDIR)"
Yuya Nishihara
chg: import frontend sources...
r28060
.PHONY: clean
clean:
$(RM) $(OBJS)
.PHONY: distclean
distclean:
$(RM) $(OBJS) $(TARGET)