git and svn handle copy differently

As a sanity check, there are several diffs to compare devgit.freshports.org with dev.freshports.org and sometimes they detect a false positive.

Case in point, a recent commit to Code_Aster:

  • https://svnweb.freebsd.org/ports?view=revision&revision=556349
  • https://github.com/freebsd/freebsd-ports/commit/d23fb94b8640d1c9d38c3cafc69c89ed4fe11939

In the svnweb link, you will see:

head/science/tfel-edf/
(Copied from head/science/tfel, r555690)

It is that repo copy (i.e. svn copy) from science/tfel to science/tfel-edf which gives rise to a difference in the list of files when comparing the two commits.

  • git lists science/tfel-edfsvn does not.
  • git lists science/tfel-edf/files/patch-cmake_modules_tfel.cmakesvn does not.
  • svn lists science/tfel-edf/distinfogit does not.

The directory inclusion/omission is a direct result of how the two tools handle a copy.

patch-cmake_modules_tfel.cmake was not modified after the copy – that is why svn does not list it.

science/tfel-edf/distinfo is not in the repo, which is why svn lists it as deleted.

When a diff does the two websites do not match, I feel obliged to investigate in case the code needs to be updated. This post serves as a reminder to myself that sometimes missing files are OK.

Website Pin Facebook Twitter Myspace Friendfeed Technorati del.icio.us Digg Google StumbleUpon Premium Responsive

Leave a Comment

Scroll to Top