List Info

Thread: Re: Teach ra_dav editor parser to filter unwanted data (for sparse directories)




Re: Teach ra_dav editor parser to filter unwanted data (for sparse directories)
user name
2007-04-23 08:49:44
KARL FOGEL WROTE:
> "C. MICHAEL PILATO" <CMPILATOCOLLAB.NET> WRITES:
>> TEACH THE RA_DAV EDITOR PARSER TO FILTER OUT
UNWANTED STUFF BASED ON
>> THE REQUESTED DEPTH OF THE OPERATION.  THIS IS
USEFUL FOR
>> COMPATIBILITY WITH OLDER DEPTH-IGNORANT SERVERS.
> 
> HMM, I HAVE AN ANNOYING QUESTION, MIKE.  DO WE EVEN
WANT TO DO THIS AT
> THE RA LAYER LEVEL?  IF WE DO IT AT THE LEVEL OF SHARED
CLIENT AND WC
> CODE, THEN WE AUTOMATICALLY GET IT FOR ALL RA LAYERS. 
I THINK THAT'S
> WHAT VLAD GEORGESCU IS AIMING AT IN HIS (UNFINISHED)
PATCH HERE:
> 
>   
HTTP://SUBVERSION.TIGRIS.ORG/SERVLETS/READMSG?LIST=DEV&M
SGNO=125228
>    FROM: VLAD GEORGESCU <VGEORGESCUGMAIL.COM>
>    TO: SVN DEV <DEVSUBVERSION.TIGRIS.ORG>
>    SUBJECT: [PATCH] MAKE SPARSE-DIRECTORIES
CHECKOUTS/UPDATES 
>             WORK WITH OLD SERVERS
>    MESSAGE-ID: <46052E15.4030108GMAIL.COM>
>    DATE: SAT, 24 MAR 2007 15:56:37 +0200
> 
> POSSIBLY YOU'VE THOUGHT THIS THROUGH MORE DEEPLY AND
SEE AN ADVANTAGE
> TO DOING IT AT THE RA LAYER LEVEL, LET ME KNOW IF
SO...

OH, THAT'S NOT AN ANNOYING QUESTION.  IT'S A GOOD QUESTION
TO ASK!

WHEN I STARTED THINKING ABOUT THIS PROBLEM, I WAS FIRST
GOING TO HEAD
STRAIGHT TO THE LIBSVN_WC/UPDATE_EDITOR.C CODE AND START
HACKING.  BUT AS I
STARTED THINKING ABOUT HOW THAT CODE INTERACTED WITH THE RA
LAYERS AND SUCH,
I HAD TO PAUSE AND CONSIDER IF IT WAS SUFFICIENT AND/OR
SENSIBLE TO TWEAK
THE WC/CLIENT LAYERS.

HERE ARE THE TWO BIGGEST THOUGHTS FLOATING IN MY HEAD AT THE
TIME:

   * LIBSVN_RA_DAV USES A SINGLE BIT OF CODE (THE STUFF I
PATCHED) TO DRIVE
     THE EDITORS FOR UPDATE, CHECKOUT, EXPORT, STATUS,
MERGE, AND DIFF.
     LIBSVN_RA_SVN HAS THE SAME KIND OF ABSTRACTED
PROTOCOL-TO-EDIT-DRIVE
     CODE.  BIIIIIIG BANG FOR THE BUCK:  CHANGING THOSE TWO
PIECES OF CODE
     WOULD COVER ALL EDITOR DRIVES WHICH USES THOSE TWO RA
LAYERS.  I
     WOULDN'T BE SURPRISED TO FIND THAT RA_SERF HAS A NICE
SHARED EDITOR
     THING GOING ON, TOO.  BUT WHAT ABOUT RA_LOCAL?  WELL,
IT TURNS OUT
     NOT TO MATTER, BECAUSE IN THE RA_LOCAL CASE, THE
"SERVER" CAN'T BE
     RUNNING OLD NON-DEPTH-AWARE CODE -- THERE'S NO SERVER!

   * THE RA API IS A PUBLIC API.  HOW NASTY WOULD IT BE TO
HAVE TO DOCUMENT
     IN THAT PUBLIC API THAT EVEN THOUGH 'DEPTH' FLAGS ARE
ACCEPTED TO THE
     RA FUNCTIONS, EVERYBODY THAT IMPLEMENTS ONE OF THE
EDITORS DRIVEN BY
     THOSE FUNCTIONS MUST HANDLE THE POSSIBILITY THAT THE
SERVER ISN'T
     SMART ENOUGH TO DRIVE THE EDITOR IN THE WAY YOU
REQUESTED.  IN OTHER
     WORDS, NOT ONLY DO *WE* HAVE HAVE TO TEACH EVERY SINGLE
ONE OF OUR
     SERVER->CLIENT EDITORS ABOUT THE DEPTH FILTERING,
BUT SO DOES EVERYONE
     ELSE WHO USES THE RA APIS.  EWWWW.


-- 
C. MICHAEL PILATO <CMPILATOCOLLAB.NET>
COLLABNET   <>   WWW.COLLAB.NET   <>  
DISTRIBUTED DEVELOPMENT ON DEMAND

[1]

about | contact  Other archives ( Real Estate discussion Medical topics )