Diff
Not logged in

Differences From Artifact [baf4b9d638]:

To Artifact [def9793f08]:


162
163
164
165
166
167
168


169
170
171
172
173

174
175

176
177
178
179
180
181
182

  /*
  ** Compute name changes from P->V
  */
  find_filename_changes(vid, pid, &nChng, &aChng);
  if( nChng ){
    for(i=0; i<nChng; i++){


      db_multi_exec(
        "UPDATE fv SET fnp=(SELECT name FROM filename WHERE fnid=%d)"
        " WHERE fn=(SELECT name FROM filename WHERE fnid=%d)",
        aChng[i*2+1], aChng[i*2]
      );

    }
    fossil_free(aChng);

  }

  /* Add files found in P
  */
  db_multi_exec(
    "INSERT OR IGNORE INTO fv(fn,fnp,fnm,idv,idp,idm,ridv,ridp,ridm,chnged)"
    " SELECT pathname, pathname, pathname, 0, 0, 0, 0, 0, 0, 0 "







>
>

|

|

>


>







162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186

  /*
  ** Compute name changes from P->V
  */
  find_filename_changes(vid, pid, &nChng, &aChng);
  if( nChng ){
    for(i=0; i<nChng; i++){
      char *z;
      z = db_text(0, "SELECT name FROM filename WHERE fnid=%d", aChng[i*2+1]);
      db_multi_exec(
        "UPDATE fv SET fnp=%Q, fnm=%Q"
        " WHERE fn=(SELECT name FROM filename WHERE fnid=%d)",
        z, z, aChng[i*2]
      );
      free(z);
    }
    fossil_free(aChng);
    db_multi_exec("UPDATE fv SET fnm=fnp WHERE fnp!=fn");
  }

  /* Add files found in P
  */
  db_multi_exec(
    "INSERT OR IGNORE INTO fv(fn,fnp,fnm,idv,idp,idm,ridv,ridp,ridm,chnged)"
    " SELECT pathname, pathname, pathname, 0, 0, 0, 0, 0, 0, 0 "