Edgewall Software
Modify

Opened 18 years ago

Closed 18 years ago

Last modified 18 years ago

#2404 closed defect (worksforme)

added file missing from changeset

Reported by: mark@… Owned by: Matthew Good
Priority: normal Milestone:
Component: version control/changeset view Version: 0.9
Severity: major Keywords: dot, hidden
Cc: Branch:
Release Notes:
API Changes:
Internal Changes:

Description

Recently I've commited a (new) file called .htaccess and opened the changeset-viewer to review my changes.

Everything was listed fine, but trac did not list the file starting with the dot.

Yes, it has been commited properly and is shown by other tools - except trac.

Although files starting with dots are regarded as hidden under *nix it should IMHO be visible in versioning systems.

Attachments (1)

dmp.svn.bz2 (17.9 KB ) - added by mark@… 18 years ago.
the SVN dump from r0:36

Download all attachments as: .zip

Change History (15)

comment:1 by Matthew Good, 18 years ago

Trac does not filter files starting with dots, and I just tested adding a .htaccess file to a repository here which works fine. You're going to need to provide some more information in order to determine why this is occurring.

comment:2 by Christopher Lenz, 18 years ago

Milestone: 0.9.1

comment:3 by mark@…, 18 years ago

Okay, here is the case:

Please see http://www.openmaillist.org/changeset/26 for the changeset:

Files:
        * trunk/bin (added)
        * trunk/bin/piper.php (moved) (moved from trunk/testdata/piper.php)
        * trunk/bin/piper.pl (moved) (moved from trunk/testdata/piper.pl)
        * trunk/bin/piper.py (moved) (moved from trunk/testdata/piper.py)
        * trunk/testdata/piper.php

Then, for comparison, run this:

# svn -v -r 26 log http://svn.hurrikane.de/all/openmaillist/trunk

------------------------------------------------------------------------
r26 | mark | 2005-11-24 21:28:50 +0100 (Do, 24 Nov 2005) | 1 line
Geänderte Pfade:
   A /trunk/bin
   A /trunk/bin/.htaccess
   A /trunk/bin/piper.php (von /trunk/testdata/piper.php:25)
   A /trunk/bin/piper.pl (von /trunk/testdata/piper.pl:22)
   A /trunk/bin/piper.py (von /trunk/testdata/piper.py:22)
   D /trunk/testdata/piper.php
   D /trunk/testdata/piper.pl
   D /trunk/testdata/piper.py

Message fetching scripts were moved to bin.
------------------------------------------------------------------------

You will notice that trunk/bin/.htaccess is missing:

comment:4 by anonymous, 18 years ago

Severity: normalmajor

comment:5 by Matthew Good, 18 years ago

Milestone: 0.9.3
Owner: changed from Jonas Borgström to Matthew Good
Status: newassigned
Summary: changeset-view does not display files starting with dotsadded file missing from changeset

Ok, I'll investigate this further. I've changed the subject because I think that the fact that the file started with a dot was just a coincidence and is not the reason it wasn't displayed.

comment:6 by mark@…, 18 years ago

I agree with you.

Please try this inverstigating this issue:

  1. Create a directory by svn mkdir xy.
  2. Create a new file and add it to that directory: svn add xy/myfile.txt.
  3. Commit and check whether everything is displayed properly.

comment:7 by Christian Boos, 18 years ago

I tried to reproduce the issue by mirroring your repository (using svk), but for me, it worked fined.

Here's the Trac[cache] DEBUG output when doing a resync:

 ...
 [27]: ('upstream/trunk/bin', 'dir', 'add', None, -1)
 [27]: ('upstream/trunk/bin/.htaccess', 'file', 'add', None, -1)
 [27]: ('upstream/trunk/bin/piper.php', 'file', 'move', 'upstream/trunk/testdata/piper.php', 26)
 [27]: ('upstream/trunk/bin/piper.pl', 'file', 'move', 'upstream/trunk/testdata/piper.pl', 23)
 [27]: ('upstream/trunk/testdata/piper.py', 'file', 'delete', 'upstream/trunk/testdata/piper.py', 26)

(the prefix of upstream and the changeset offset of +1 are due to the mirroring).

… and the changeset is then displayed correctly by Trac.

Now, by looking at your repository (http://svn.hurrikane.de/all/openmaillist/trunk), I see it's served by Subversion 1.3.0rc4. Which version of the python bindings for SVN are you using?

Another possibility is that you've setup an authz file which doesn't give you the read permission for the file which is "missing" (rightfully, if this would be the case).

comment:8 by mark@…, 18 years ago

I've upgraded to SVN 1.3 after the error has appeared. The relevant version of SVN is 1.2.3.

The authz-file does not set any permissions below trunk, therefore I can exclude that.

Bindings come from SWIG 1.3.21.

comment:9 by anonymous, 18 years ago

Same here. I have encountered that issue with subversion 1.2.0 and trac 0.9.0, too.

comment:10 by Christian Boos, 18 years ago

Sorry, but "same here" comments aren't going to help make any progress on this topic. What we need is a way to reproduce the problem, like a small dump of a repository which exhibits the issue…

As I said above, when I tried to reproduce the issue with a mirror of the initial reporter's repository, I couldn't reproduce the problem, which makes me believe that it's an authz issue, because of that line: source:trunk/trac/versioncontrol/svn_fs.py@2636#L471.

To mark@…: can you please instrument your code and do a resync once again?

  • svn_fs.py

     
    468468        for path, change in editor.changes.items():
    469469            if not self.authz.has_permission(path):
    470470                # FIXME: what about base_path?
     471                print 'XXX no permission for', path
    471472                continue
    472473            if not (path+'/').startswith(self.scope[1:]):
     474                print 'YYY stupid bug involving', path, self.scope
    473475                continue
    474476            action = ''
    475477            if not change.path and change.base_path:

comment:11 by mark@…, 18 years ago

After having SVN downgraded to 1.2.3…

  1. I've added the two lines listed above, removed any svn_fs.pyc and restarted apache.
  2. Then, I've done a trac-admin /path/to/openmaillist resync - no errors appeared (neither XXX nor YYY).
  3. After this, the changeset viewer still did not show the file.

Strange.

by mark@…, 18 years ago

Attachment: dmp.svn.bz2 added

the SVN dump from r0:36

comment:12 by Christian Boos, 18 years ago

Milestone: 0.9.3
Resolution: worksforme
Status: assignedclosed

I just noticed that now it worksforyou :) (http://www.openmaillist.org/changeset/26) It also worked for me using the attachment:dmp.svn.bz2, as it did for the svk mirror. I'd be interested to know what you had to do in the end to make it work…

comment:13 by mark@…, 18 years ago

I've downgraded:

  • subversion to 1.2.3-r2 (was 1.2.3-r3, 1.3.0-rcX; didn't work with <1.2.3-r1 as well)

… and recompiled SWIG to be on the safe side.

But beware: subversion 1.3.0 has serious bugs with SWIG.

Anyway, my apologies and thanks for your effords!

comment:14 by Christian Boos, 18 years ago

Thanks for the feedback.

As I now have 1.3.0 (final, on Windows), I tried again with this repository and your changeset [26] appears correctly. However, it's true that the bindings are sensitive to the SWIG version used (only 1.3.24 or 1.3.25 should be used).

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain Matthew Good.
The resolution will be deleted. Next status will be 'reopened'.
to The owner will be changed from Matthew Good to the specified user.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.