Edgewall Software
Modify

Opened 9 years ago

Closed 9 years ago

Last modified 8 years ago

#2404 closed defect (worksforme)

added file missing from changeset

Reported by: mark@… Owned by: mgood
Priority: normal Milestone:
Component: version control/changeset view Version: 0.9
Severity: major Keywords: dot, hidden
Cc:
Release Notes:
API 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@… 9 years ago.
the SVN dump from r0:36

Download all attachments as: .zip

Change History (15)

comment:1 Changed 9 years ago by mgood

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 Changed 9 years ago by cmlenz

  • Milestone 0.9.1 deleted

comment:3 Changed 9 years ago by mark@…

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 Changed 9 years ago by anonymous

  • Severity changed from normal to major

comment:5 Changed 9 years ago by mgood

  • Milestone set to 0.9.3
  • Owner changed from jonas to mgood
  • Status changed from new to assigned
  • Summary changed from changeset-view does not display files starting with dots to added 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 Changed 9 years ago by mark@…

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 Changed 9 years ago by cboos

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 Changed 9 years ago by mark@…

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 Changed 9 years ago by anonymous

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

comment:10 Changed 9 years ago by cboos

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 Changed 9 years ago by mark@…

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.

Changed 9 years ago by mark@…

the SVN dump from r0:36

comment:12 Changed 9 years ago by cboos

  • Milestone 0.9.3 deleted
  • Resolution set to worksforme
  • Status changed from assigned to closed

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 Changed 9 years ago by mark@…

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 Changed 9 years ago by cboos

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).

Add Comment

Modify Ticket

Change Properties
<Author field>
Action
as closed The owner will remain mgood.
The resolution will be deleted. Next status will be 'reopened'.
to The owner will be changed from mgood to the specified user.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.