I ran `svndiff --no-diff-deleted' to keep the diff readable.
I noticed that when a file is moved (ie deleted then added), svn includes the deleted files in the diffs but not the added one, which I found really NOT intuitive -- I thought that I was about to commit the deletion of some files but not their addition.
At work we have a source code manager that supports a simulation mode, which I find really nice to use. You do your modifications, you generate a diff, and you run the pseudo-equivalent of `svn commit --simul' which prints out exactly what it would if it was for real, but does not modify the repository. Thus you are sure that you effectively moved a file, for instance :)
https://svn.lrde.epita.fr/svn/nolimips/trunk
(deleted) | 0 ChangeLog | 18 ++++++++++++++++++ Makefile.am | 10 ++-------- doc/Makefile.am | 19 +++++++++++-------- src/inst/Makefile.am | 40 ++++++++++++++++++++++------------------ src/inst/nodes.mk.gen.py | 2 +- src/parse/Makefile.am | 24 +++++++++++++----------- 7 files changed, 67 insertions(+), 46 deletions(-)
Index: ChangeLog from Benoît Perrot benoit@nostromo.lrde.epita.fr
Move generators to source directories.
* dev/parse-asm-parse-gen.py, dev/parse-asm-scan-gen.py, * dev/inst-solver-gen.py, dev/inst-nodes-gen.py, * dev/inst-builder-gen.py, dev/inst-nodes-mk-gen.py, * dev/doc-inst-set-gen.py: Move to... * src/parse/asm-parse.yy.gen.py, src/parse/asm-scan.ll.gen.py, * src/inst/program_solver.gen.py, src/inst/nodes.gen.py, * src/inst/program_builder.hh.gen.py, src/inst/nodes.mk.gen.py, * doc/inst-set.texi.gen.py: These files (respectively). * src/parse/Makefile.am, src/inst/Makefile.am, doc/Makefile.am, * Makefile.am: Update accordingly. 2005-07-31 Benoît Perrot benoit@nostromo.lrde.epita.fr Index: src/parse/Makefile.am --- src/parse/Makefile.am (revision 184) +++ src/parse/Makefile.am (working copy) @@ -7,30 +7,32 @@ $(srcdir)/asm-parse.hh
BUILT_SOURCES = \ - asm-scan.ll parse-asm-scan.stamp \ - asm-parse.yy parse-asm-parse.stamp \ + asm-scan.ll asm-scan.ll.stamp \ + asm-parse.yy asm-parse.yy.stamp \ $(FROM_ASM_PARSE_YY)
# This code comes from "Handling Tools that Produce Many Outputs", # from the Automake documentation.
-$(srcdir)/parse-asm-scan.stamp: $(top_srcdir)/dev/parse-asm-scan-gen.py $(top_srcdir)/dev/nolimips.xml +EXTRA_DIST = $(srcdir)/asm-scan.ll.gen.py +asm-scan.ll.stamp: $(srcdir)/asm-scan.ll.gen.py $(top_srcdir)/dev/nolimips.xml @rm -rf $@.tmp @touch $@.tmp - $(top_srcdir)/dev/parse-asm-scan-gen.py $(srcdir) < $(top_srcdir)/dev/nolimips.xml + PYTHONPATH="$(top_srcdir)/dev/:$$PYTHONPATH" $(srcdir)/asm-scan.ll.gen.py $(srcdir) < $(top_srcdir)/dev/nolimips.xml @mv -f $@.tmp $@ -$(srcdir)/asm-scan.ll: $(srcdir)/parse-asm-scan.stamp +$(srcdir)/asm-scan.ll: asm-scan.ll.stamp
-$(srcdir)/parse-asm-parse.stamp: $(top_srcdir)/dev/parse-asm-parse-gen.py $(top_srcdir)/dev/nolimips.xml +EXTRA_DIST += $(srcdir)/asm-parse.yy.gen.py +asm-parse.yy.stamp: $(srcdir)/asm-parse.yy.gen.py $(top_srcdir)/dev/nolimips.xml @rm -rf $@.tmp @touch $@.tmp - $(top_srcdir)/dev/parse-asm-parse-gen.py $(srcdir) < $(top_srcdir)/dev/nolimips.xml + PYTHONPATH="$(top_srcdir)/dev/:$$PYTHONPATH" $(srcdir)/asm-parse.yy.gen.py $(srcdir) < $(top_srcdir)/dev/nolimips.xml @mv -f $@.tmp $@ -$(srcdir)/asm-parse.yy: $(srcdir)/parse-asm-parse.stamp +$(srcdir)/asm-parse.yy: asm-parse.yy.stamp
BISONXX = $(top_srcdir)/config/bison++ -EXTRA_DIST = $(srcdir)/bison++.stamp +EXTRA_DIST += $(srcdir)/bison++.stamp $(srcdir)/bison++.stamp: $(srcdir)/asm-parse.yy @rm -rf bison++.stamp.tmp @touch bison++.stamp.tmp @@ -51,7 +53,7 @@
libparse_a_CPPFLAGS = -I $(top_srcdir)/src -I $(top_builddir)/src libparse_a_SOURCES = \ - asm-parse.yy parse-asm-parse.stamp \ + asm-parse.yy asm-parse.yy.stamp \ $(FROM_ASM_PARSE_YY) \ - asm-scan.ll asm-scan.hh parse-asm-scan.stamp \ + asm-scan.ll asm-scan.hh asm-scan.ll.stamp \ libparse.hh libparse.cc Index: src/inst/Makefile.am --- src/inst/Makefile.am (revision 184) +++ src/inst/Makefile.am (working copy) @@ -1,41 +1,45 @@ include $(srcdir)/nodes.mk
BUILT_SOURCES = \ - $(FROM_INST_NODES_GEN_PY) inst-nodes-gen.stamp \ - program_builder.hh inst-builder-gen.stamp \ - program_solver.hh program_solver.cc inst-solver-gen.stamp + $(FROM_NODES_GEN_PY) nodes.stamp \ + program_builder.hh program_builder.hh.stamp \ + program_solver.hh program_solver.cc program_solver.stamp
# This code comes from "Handling Tools that Produce Many Outputs", # from the Automake documentation.
-$(srcdir)/nodes.mk: $(top_srcdir)/dev/inst-nodes-mk-gen.py $(top_srcdir)/dev/nolimips.xml - $(top_srcdir)/dev/inst-nodes-mk-gen.py < $(top_srcdir)/dev/nolimips.xml >$@.tmp +EXTRA_DIST = $(srcdir)/nodes.mk.gen.py +nodes.mk: $(srcdir)/nodes.mk.gen.py $(top_srcdir)/dev/nolimips.xml + PYTHONPATH="$(top_srcdir)/dev/:$$PYTHONPATH" $(srcdir)/nodes.mk.gen.py < $(top_srcdir)/dev/nolimips.xml >$@.tmp mv -f $@.tmp $@
-$(srcdir)/inst-nodes-gen.stamp: $(top_srcdir)/dev/inst-nodes-gen.py $(top_srcdir)/dev/nolimips.xml +EXTRA_DIST += $(srcdir)/nodes.gen.py +nodes.stamp: $(srcdir)/nodes.gen.py $(top_srcdir)/dev/nolimips.xml @rm -rf $@.tmp @touch $@.tmp - $(top_srcdir)/dev/inst-nodes-gen.py $(srcdir) < $(top_srcdir)/dev/nolimips.xml + PYTHONPATH="$(top_srcdir)/dev/:$$PYTHONPATH" $(srcdir)/nodes.gen.py $(srcdir) < $(top_srcdir)/dev/nolimips.xml @mv -f $@.tmp $@ -$(FROM_INST_NODES_GEN_PY): inst-nodes-gen.stamp +$(FROM_NODES_GEN_PY): nodes.stamp
-$(srcdir)/inst-builder-gen.stamp: $(top_srcdir)/dev/inst-builder-gen.py $(top_srcdir)/dev/nolimips.xml +EXTRA_DIST += $(srcdir)/program_builder.hh.gen.py +program_builder.hh.stamp: $(srcdir)/program_builder.hh.gen.py $(top_srcdir)/dev/nolimips.xml @rm -rf $@.tmp @touch $@.tmp - $(top_srcdir)/dev/inst-builder-gen.py $(srcdir) < $(top_srcdir)/dev/nolimips.xml + PYTHONPATH="$(top_srcdir)/dev/:$$PYTHONPATH" $(srcdir)/program_builder.hh.gen.py $(srcdir) < $(top_srcdir)/dev/nolimips.xml @mv -f $@.tmp $@ -program_builder.hh: inst-builder-gen.stamp +program_builder.hh: program_builder.hh.stamp
-$(srcdir)/inst-solver-gen.stamp: $(top_srcdir)/dev/inst-solver-gen.py $(top_srcdir)/dev/nolimips.xml +EXTRA_DIST += $(srcdir)/program_solver.gen.py +program_solver.stamp: $(srcdir)/program_solver.gen.py $(top_srcdir)/dev/nolimips.xml @rm -rf $@.tmp @touch $@.tmp - $(top_srcdir)/dev/inst-solver-gen.py $(srcdir) < $(top_srcdir)/dev/nolimips.xml + PYTHONPATH="$(top_srcdir)/dev/:$$PYTHONPATH" $(srcdir)/program_solver.gen.py $(srcdir) < $(top_srcdir)/dev/nolimips.xml @mv -f $@.tmp $@ -program_solver.hh program_solver.cc: inst-solver-gen.stamp +program_solver.hh program_solver.cc: program_solver.stamp
MAINTAINERCLEANFILES = \ - $(FROM_INST_NODES_GEN_PY) \ + $(FROM_NODES_GEN_PY) \ program_builder.hh \ program_solver.hh program_solver.cc
@@ -43,7 +47,7 @@
libinst_a_CPPFLAGS = -I $(top_srcdir)/lib -I $(top_srcdir)/src -I $(top_builddir)/src libinst_a_SOURCES = \ - $(FROM_INST_NODES_GEN_PY) inst-nodes-gen.stamp \ + $(FROM_NODES_GEN_PY) nodes.stamp \ register.hh \ exp.hh exp.cc \ int_exp.hh int_exp.cc \ @@ -58,5 +62,5 @@ text_section.hh text_section.cc \ data_section.hh data_section.cc \ program.hh \ - program_builder.hh program_builder.cc inst-builder-gen.stamp \ - program_solver.hh program_solver.cc inst-solver-gen.stamp + program_builder.hh program_builder.cc program_builder.hh.stamp \ + program_solver.hh program_solver.cc program_solver.stamp Index: src/inst/nodes.mk.gen.py --- src/inst/nodes.mk.gen.py (revision 184) +++ src/inst/nodes.mk.gen.py (working copy) @@ -29,7 +29,7 @@ parser = nolimips.InstructionSetParser() instructions = parser.parse(sys.stdin)
-print "FROM_INST_NODES_GEN_PY = \" +print "FROM_NODES_GEN_PY = \" for i in range(0, len(instructions)): if instructions[i].level == "native": line = "\t" Index: doc/Makefile.am --- doc/Makefile.am (revision 184) +++ doc/Makefile.am (working copy) @@ -2,22 +2,25 @@ TEXI2DVI = texi2dvi --batch
-FROM_DOC_INST_SET_GEN_PY = \ +FROM_INST_SET_TEXI_GEN_PY = \ inst-set.texi
BUILT_SOURCES = \ - $(FROM_DOC_INST_SET_GEN_PY) doc-inst-set-gen.log + $(FROM_INST_SET_TEXI_GEN_PY) inst-set.texi.stamp
-doc-inst-set-gen.log: $(top_srcdir)/dev/doc-inst-set-gen.py $(top_srcdir)/dev/nolimips.xml - $(top_srcdir)/dev/doc-inst-set-gen.py . < $(top_srcdir)/dev/nolimips.xml - touch $@ -$(FROM_DOC_INST_SET_GEN_PY): doc-inst-set-gen.log +EXTRA_DIST = $(srcdir)/inst-set.texi.gen.py +inst-set.texi.stamp: $(srcdir)/inst-set.texi.gen.py $(top_srcdir)/dev/nolimips.xml + @rm -rf $@.tmp + @touch $@.tmp + PYTHONPATH="$(top_srcdir)/dev/:$$PYTHONPATH" $(srcdir)/inst-set.texi.gen.py $(srcdir) < $(top_srcdir)/dev/nolimips.xml + @mv -f $@.tmp $@ +$(FROM_INST_SET_TEXI_GEN_PY): inst-set.texi.stamp
-MAINTAINERCLEANFILES = $(FROM_DOC_INST_SET_GEN_PY) +MAINTAINERCLEANFILES = $(FROM_INST_SET_TEXI_GEN_PY)
info_TEXINFOS = nolimips.texi nolimips_TEXINFOS = \ macros.texi \ fdl.texi \ - $(FROM_DOC_INST_SET_GEN_PY) doc-inst-set-gen.log + $(FROM_INST_SET_TEXI_GEN_PY) inst-set.texi.stamp Index: Makefile.am --- Makefile.am (revision 184) +++ Makefile.am (working copy) @@ -5,11 +5,5 @@ EXTRA_DIST = \ bootstrap \ dev/nolimips.xml \ - dev/nolimips.py \ - dev/parse-asm-scan-gen.py \ - dev/parse-asm-parse-gen.py \ - dev/inst-nodes-mk-gen.py \ - dev/inst-nodes-gen.py \ - dev/inst-builder-gen.py \ - dev/inst-solver-gen.py \ - dev/doc-inst-set-gen.py + dev/nolimips.py + Index: dev/inst-builder-gen.py (deleted) Index: dev/inst-nodes-gen.py (deleted) Index: dev/inst-solver-gen.py (deleted) Index: dev/inst-nodes-mk-gen.py (deleted) Index: dev/doc-inst-set-gen.py (deleted) Index: dev/parse-asm-scan-gen.py (deleted) Index: dev/parse-asm-parse-gen.py (deleted) ===================================================================
Noe benoit@lrde.epita.fr writes:
2005-07-31 Benoît Perrot benoit@nostromo.lrde.epita.fr
Oooops.