This module is an absolute PITA to maintain via CVS (CVS checked in to SVN, with some help of this script):

--( ~/Work/drupalbase/DRUPAL-6/profiles/basic/trunk/modules/cck )-- cvs update -dP -r DRUPAL-6--2-6? .svn
? help/.DS_Store
? help/.svn
? includes/.svn
? includes/panels/.svn
? includes/panels/content_types/.svn
? includes/views/.svn
? includes/views/handlers/.svn
? modules/.DS_Store
? modules/.svn
? modules/content_copy/.svn
? modules/content_copy/translations/.svn
? modules/content_multigroup/.svn
? modules/content_multigroup/translations/.svn
? modules/content_permissions/.svn
? modules/content_permissions/translations/.svn
? modules/fieldgroup/.svn
? modules/fieldgroup/panels/.svn
? modules/fieldgroup/panels/content_types/.svn
? modules/fieldgroup/translations/.svn
? modules/nodereference/.svn
? modules/nodereference/help
? modules/nodereference/panels/.svn
? modules/nodereference/panels/relationships/.svn
? modules/nodereference/translations/.svn
? modules/number/.svn
? modules/number/help
? modules/number/translations/.svn
? modules/optionwidgets/.svn
? modules/optionwidgets/help
? modules/optionwidgets/translations/.svn
? modules/text/.svn
? modules/text/help
? modules/text/translations/.svn
? modules/userreference/.svn
? modules/userreference/help
? modules/userreference/includes/.svn
? modules/userreference/includes/views/.svn
? modules/userreference/panels/.svn
? modules/userreference/panels/relationships/.svn
? modules/userreference/translations/.svn
? tests/.svn
? theme/.svn
? translations/.DS_Store
? translations/.svn
? translations/help
cvs update: Updating .
cvs update: Updating .settings
cvs update: Updating examples
cvs update: Updating field_ui
cvs update: Updating field_ui/includes
cvs update: Updating field_ui/theme
cvs update: Updating fields
cvs update: Updating fields/includes
cvs update: Updating fields/modules
cvs update: Updating fields/modules/text
cvs update: Updating fields/theme
cvs update: Updating help
cvs update: Updating images
cvs update: Updating includes
cvs update: Updating includes/panels
cvs update: Updating includes/panels/content_types
cvs update: Updating includes/views
cvs update: Updating includes/views/handlers
cvs update: Updating js
cvs update: Updating modules
cvs update: Updating modules/content_copy
cvs update: Updating modules/content_copy/translations
cvs update: Updating modules/content_multigroup
cvs update: Updating modules/content_multigroup/panels
cvs update: Updating modules/content_multigroup/panels/content_types
cvs update: Updating modules/content_multigroup/translations
cvs update: Updating modules/content_multigroup/views
cvs update: Updating modules/content_multigroup/views/handlers
cvs update: Updating modules/content_permissions
cvs update: Updating modules/content_permissions/translations
cvs update: Updating modules/demofield
cvs update: Updating modules/fieldgroup
cvs update: Updating modules/fieldgroup/panels
cvs update: Updating modules/fieldgroup/panels/content_types
cvs update: Updating modules/fieldgroup/plugins
cvs update: Updating modules/fieldgroup/translations
cvs update: Updating modules/node_reference
cvs update: Updating modules/nodereference
cvs update: Updating modules/nodereference/help
cvs update: move away `modules/nodereference/help/nodereference.help.ini'; it is in the way
C modules/nodereference/help/nodereference.help.ini
cvs update: move away `modules/nodereference/help/nodereference.html'; it is in the way
C modules/nodereference/help/nodereference.html
cvs update: Updating modules/nodereference/panels
cvs update: Updating modules/nodereference/panels/relationships
cvs update: Updating modules/nodereference/translations
cvs update: Updating modules/nodereference/views
cvs update: Updating modules/nodereference/views/handlers
cvs update: Updating modules/number
cvs update: Updating modules/number/help
cvs update: move away `modules/number/help/number.help.ini'; it is in the way
C modules/number/help/number.help.ini
cvs update: move away `modules/number/help/number.html'; it is in the way
C modules/number/help/number.html
cvs update: Updating modules/number/translations
cvs update: Updating modules/optionwidgets
cvs update: Updating modules/optionwidgets/help
cvs update: move away `modules/optionwidgets/help/optionwidgets.help.ini'; it is in the way
C modules/optionwidgets/help/optionwidgets.help.ini
cvs update: move away `modules/optionwidgets/help/optionwidgets.html'; it is in the way
C modules/optionwidgets/help/optionwidgets.html
cvs update: Updating modules/optionwidgets/translations
cvs update: Updating modules/pbs
cvs update: Updating modules/text
cvs update: Updating modules/text/help
cvs update: move away `modules/text/help/text.help.ini'; it is in the way
C modules/text/help/text.help.ini
cvs update: move away `modules/text/help/text.html'; it is in the way
C modules/text/help/text.html
cvs update: Updating modules/text/translations
cvs update: Updating modules/user_reference
cvs update: Updating modules/userreference
cvs update: Updating modules/userreference/help
cvs update: move away `modules/userreference/help/userreference.help.ini'; it is in the way
C modules/userreference/help/userreference.help.ini
cvs update: move away `modules/userreference/help/userreference.html'; it is in the way
C modules/userreference/help/userreference.html
cvs update: Updating modules/userreference/includes
cvs update: Updating modules/userreference/includes/views
cvs update: Updating modules/userreference/panels
cvs update: Updating modules/userreference/panels/relationships
cvs update: Updating modules/userreference/translations
cvs update: Updating plugins
cvs update: Updating po
cvs update: Updating tests
cvs update: Updating theme
cvs update: Updating translations
cvs update: Updating translations/help
cvs update: Updating translations/help/de
cvs update: move away `translations/help/de/add-existing-field.html'; it is in the way
C translations/help/de/add-existing-field.html
cvs update: move away `translations/help/de/add-existing-field.png'; it is in the way
C translations/help/de/add-existing-field.png
cvs update: move away `translations/help/de/add-new-field.html'; it is in the way
C translations/help/de/add-new-field.html
cvs update: move away `translations/help/de/add-new-field.png'; it is in the way
C translations/help/de/add-new-field.png
cvs update: move away `translations/help/de/add-new-group.html'; it is in the way
C translations/help/de/add-new-group.html
cvs update: move away `translations/help/de/add-new-group.png'; it is in the way
C translations/help/de/add-new-group.png
cvs update: move away `translations/help/de/add-new.png'; it is in the way
C translations/help/de/add-new.png
cvs update: move away `translations/help/de/add.html'; it is in the way
C translations/help/de/add.html
cvs update: move away `translations/help/de/content.help.ini'; it is in the way
C translations/help/de/content.help.ini
cvs update: move away `translations/help/de/drag-groups.png'; it is in the way
C translations/help/de/drag-groups.png
cvs update: move away `translations/help/de/drag-new.png'; it is in the way
C translations/help/de/drag-new.png
cvs update: move away `translations/help/de/group-node-display.png'; it is in the way
C translations/help/de/group-node-display.png
cvs update: move away `translations/help/de/group-node-edit-form.png'; it is in the way
C translations/help/de/group-node-edit-form.png
cvs update: move away `translations/help/de/manage-fields.html'; it is in the way
C translations/help/de/manage-fields.html
cvs update: move away `translations/help/de/rearrange.html'; it is in the way
C translations/help/de/rearrange.html
cvs update: move away `translations/help/de/remove.html'; it is in the way
C translations/help/de/remove.html
cvs update: move away `translations/help/de/theme-formatters.html'; it is in the way
C translations/help/de/theme-formatters.html
cvs update: move away `translations/help/de/theme.html'; it is in the way
C translations/help/de/theme.html

You can delete those conflicted files, and then it will run fine. But if you run the same command again, the files will be conflicted AGAIN. I've been manually deleting those files for months now, but now I've had it. I can't be the only one with this problem, so please, can somebody point me into the direction of a solution? This is driving me nuts.

Comments

neclimdul’s picture

This isn't CCK's fault but is normally something messed up with your CVS directories. I think I generally fix it by removing the Entries file from the CVS directory but I don't remember. I always hack at the CVS directories for a while and end up getting it working eventually. Really annoying though.

markus_petrux’s picture

Status: Active » Postponed (maintainer needs more info)

I have no idea on what we can do here. I use WinCVS (from Windows) or cvs command line (from linux) to work with Drupal repositories (and others) almost every day, and I haven't had any trouble.

wim leers’s picture

Status: Postponed (maintainer needs more info) » Active

I forgot to mention that I know that this isn't CCK's fault. It's most definitely CVS' fault!

But since I surely am not the only one experiencing this problem, I thought I'd post it here so others could find it too :)

markus_petrux’s picture

Project: Content Construction Kit (CCK) » Drupal.org site moderators
Version: 6.x-2.x-dev »
Component: upgrade path » Other
avpaderno’s picture

It seems that the problem is not maintaining a module in CVS, but commit in CVS files that are also handled by SVN client commands.

I am not sure what can be done in this case.

wim leers’s picture

Title: Keeping CCK up-to-date via CVS is a PITA » Keeping CCK up-to-date via CVS in SVN is a PITA
Assigned: Unassigned » wim leers
Priority: Normal » Minor

IIRC, I tested it a while back and it was unrelated to the CVS being in a SVN repository. But maybe it is. That'd explain why so few others are having this problem, since most people don't properly handle Drupal module updates and just download tarballs and upload those.

I'll report back. In any case, I need a fix or work-around for this. I was hoping that somebody had already figured that out.

neclimdul’s picture

It is unrelated. I'm 90% sure it has to do with the values in the CVS/Entries files. SVN will probably cause this sort of thing more often since its possible to pull in updated files that don't look updated to CVS but it can happen if you copy files around in certain ways.

avpaderno’s picture

It's not clear why this support request has been posted in the webmasters' issue queue.

As far as I can understand, the report describes a problem Wim Leers has on his web site, not a problem that is present on drupal.org. For such problems, there are the forums.

wim leers’s picture

1) I didn't post it in the web master queue, it was moved here.

2) More importantly: it's completely unrelated to *my* web site. It's a problem that occurs reproducibly for a development workflow used by many (manage Drupal sites through CVS checked in to SVN). It is due to the way that CVS works, and more specifically, the problem *always* (and *only*!) happens for files in the 'help' subdirectories. So I suspect something special is happening for those.
I've never had problems with modules without these help subdirectories.
This indicates a structural problem, which of course affects a minor fraction of Drupal.org users because few maintain their sites properly (i.e. through version control instead of downloading/uploading tarballs).
For now, I'll just ignore these errors for the help subdirectories. I don't need them anyway.

avpaderno’s picture

Assigned: wim leers » Unassigned
Status: Active » Fixed

What I meant is that is not a problem related with Drupal.org, but to the way CVS, and SVN work; if you would try to do the same with something that is not a Drupal module, you would get the same problems.
The solution is to avoid to use CVS, and SVN on the same files, or ignore the errors reported by one of the tools.

I am marking the support request as fixed because there isn't much Drupal.org webmasters can do about a problem that is not caused by how Drupal.org is set.

Anonymous’s picture

Assigned: Unassigned » wim leers
Status: Fixed » Active

What I've found is that CVS will create Entries.Log files for new, changed and deleted files when you update to a new version (using "cvs update -dP -r DRUPAL-6--2-6" for example). If these don't get checked into SVN too, the next time you need to update from CVS in an environment where these Entries.Log files don't exist, CVS will have no memory of the new, changed and deleted files but those files will actually be in the filesystem. This is why it says that this or that file is "in the way."

The only way to solve this is to edit your CVS Entries files in the PARENT DIRECTORY of the directory with problematic files to add lines for the directory. I think it's something like:

D/includes////

In the future, you can prevent all this by using "cvs diff -up ." to generate a diff for your project. This will merge the Entries.Log files back into the Entries file that are already checked into your SVN repo.

In the future, whenever you do cvs update, always do cvs diff.

avpaderno’s picture

Assigned: wim leers » Unassigned
Status: Active » Fixed

As the problem has find a solution, I am marking the report as fixed.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.