native::Wc(3perl)

πŸ¦‹ NAME πŸ¦‹

okay bestie, so this is the native::Wc(3perl) page β€” User Contributed Perl Documentation, that's the manual name right there, and the module it's about is SVN::Wc β€” Subversion working copy functions. that's it, that's the whole identity. πŸ’–


✨ SYNOPSIS ✨

Incomplete

no cap. that is literally the entire synopsis. it just says "Incomplete" and dips. honestly? iconic. 🫢


πŸ”₯ FUNCTIONS πŸ”₯

  • SVN::Wc::parse_externals_description3($parent_directory, $desc, $canonicalize_url, $pool) β€” takes the string $desc, parses it as an "svn:externals" value, and returns a reference to an array of _p_svn_wc_external_item2_t objects. if $canonicalize_url is true, it canonicalizes the "url" member of those objects (yes, the url member specifically, slay). and $parent_directory? bestie, it is only used for constructing error strings. that's its entire purpose in life. πŸ’…

πŸ‘‘ OBJECTS πŸ‘‘

πŸŽ€ svn_wc_status2_t πŸŽ€

  • $wcstat->entry() β€” a svn_wc_entry_t object for the item. can be undef if the thing isn't under version control. (mood, honestly.)
  • $wcstat->text_status() β€” an integer for the status of the item's text. can be one of the $SVN::Wc::Status::* constants.
  • $wcstat->prop_status() β€” an integer for the status of the item's properties. can be one of the $SVN::Wc::Status::* constants.
  • $wcstat->locked() β€” a boolean telling you if the item is locked. heads up: a directory can be locked if a working copy update got interrupted. 😭
  • $wcstat->copied() β€” a boolean telling you if the item was copied. a file or directory can be copied if it's scheduled for addition-with-history (or if it's part of a subtree that's scheduled as such).
  • $wcstat->switched() β€” a boolean telling you if the item was switched. a file or directory can be switched if the switch command has been used.
  • $wcstat->repos_text_status() β€” an integer for the status of the item's text in the repository. can be one of the $SVN::Wc::Status::* constants.
  • $wcstat->repos_prop_status() β€” an integer for the status of the item's properties in the repository. can be one of the $SVN::Wc::Status::* constants.
  • $wcstat->repos_lock() β€” a svn_lock_t object representing the entry's lock in the repository, if there is one.
  • $wcstat->url() β€” the url (actual or expected) of the item.
  • $wcstat->ood_last_cmt_rev() β€” an integer representing the youngest committed revision, or $SVN::Core::INVALID_REVNUM is not out of date.
  • $wcstat->ood_last_cmt_date() β€” the date of the most recent commit, as microseconds since 00:00:00 January 1, 1970 UTC, or 0 if it's not out of date.
  • $wcstat->ood_kind() β€” an integer representing the kind of the youngest commit. can be any of the $SVN::Node::* constants. will be $SVN::Node::none if it's not out of date.
  • $wcstat->tree_conflict() β€” a svn_wc_conflict_description_t object if the entry is the victim of a tree conflict, or undef.
  • $wcstat->file_external() β€” a boolean telling you if the item is a file that got added to the working copy as an svn:externals. and plot twist: if file_external is TRUE, then switched is always FALSE. periodt.
  • $wcstat->pristine_text_status() β€” an integer for the status of the item's text compared to the pristine base of the file. can be one of the $SVN::Wc::Status::* constants.
  • $wcstat->pristine_prop_status() β€” an integer for the status of the item's properties compared to the pristine base of the node. can be one of the $SVN::Wc::Status::* constants.

🌸 svn_wc_status_t 🌸

same as svn_wc_status2_t, but without the repos_lock, url, ood_last_cmt_rev, ood_last_cmt_date, ood_kind, ood_last_cmt_author, tree_conflict, file_external, pristine_text_status, pristine_prop_status fields. so it's the stripped-down version. minimalism, I guess. ✨

πŸ¦‹ svn_wc_entry_t πŸ¦‹

  • $wcent->name() β€” the entry's name.
  • $wcent->revision() β€” the base revision.
  • $wcent->url() β€” the URL in the repository.
  • $wcent->repos() β€” the canonical repository URL.
  • $wcent->uuid() β€” the repository uuid.
  • $wcent->kind() β€” the kind of node. one of these constants: $SVN::Node::none, $SVN::Node::file, $SVN::Node::dir, $SVN::Node::unknown.
  • $wcent->schedule() β€” the scheduling. one of the SVN::Wc::Schedule::* constants.
  • $wcent->copied() β€” in a copied state.
  • $wcent->deleted() β€” deleted, but the parent rev lags behind.
  • $wcent->absent() β€” absent β€” we know an entry of this name exists, but that's all we know (usually this happens because of authz restrictions).
  • $wcent->incomplete() β€” for THIS_DIR entries, this implies the whole entries file is incomplete.
  • $wcent->copyfrom_url() β€” the copyfrom location.
  • $wcent->copyfrom_rev() β€” the copyfrom revision.
  • $wcent->conflict_old() β€” the old version of the conflicted file.
  • $wcent->conflict_new() β€” the new version of the conflicted file.
  • $wcent->conflict_wrk() β€” the working version of the conflicted file.
  • $wcent->prejfile() β€” the property reject file.
  • $wcent->text_time() β€” the last up-to-date time for text contents (0 means no information available).
  • $wcent->prop_time() β€” the last up-to-date time for properties (0 means no information available).
  • $wcent->checksum() β€” a Base-64 encoded checksum for the untranslated text base file. can be undef for backwards compatibility.
  • $wcent->cmt_rev() β€” the last revision this was changed.
  • $wcent->cmt_date() β€” the last date this was changed.
  • $wcent->cmt_author() β€” the last commit author of this item.

πŸ’– svn_wc_external_item2_t πŸ’–

  • $ext->target_dir() β€” the name of the subdirectory this external should be checked out into. it's relative to the parent directory that holds this external item.
  • $ext->url() β€” where to check out from. this is possibly a relative external URL, as allowed in externals definitions, but without the peg revision.
  • $ext->revision() β€” what revision to check out, as an svn_opt_revision_t object. the only valid kind()s for this are $SVN::Core::opt_revision_number, $SVN::Core::opt_revision_date, and $SVN::Core::opt_revision_head.
  • $ext->peg_revision() β€” the peg revision to use when checking out, an svn_opt_revision_t object. the only valid kind()s for this are $SVN::Core::opt_revision_number, $SVN::Core::opt_revision_date, and $SVN::Core::opt_revision_head.

πŸ’œ CONSTANTS πŸ’œ

⭐ SVN::Wc::Notify::Action ⭐

  • $SVN::Wc::Notify::Action::add β€” adding a path to revision control.
  • $SVN::Wc::Notify::Action::copy β€” copying a versioned path.
  • $SVN::Wc::Notify::Action::delete β€” deleting a versioned path.
  • $SVN::Wc::Notify::Action::restore β€” restoring a missing path from the pristine text-base.
  • $SVN::Wc::Notify::Action::revert β€” reverting a modified path.
  • $SVN::Wc::Notify::Action::failed_revert β€” a revert operation has failed. πŸ’€
  • $SVN::Wc::Notify::Action::resolved β€” resolving a conflict.
  • $SVN::Wc::Notify::Action::skip β€” skipping a path.
  • $SVN::Wc::Notify::Action::update_delete β€” got a delete in an update.
  • $SVN::Wc::Notify::Action::update_add β€” got an add in an update.
  • $SVN::Wc::Notify::Action::update_update β€” got any other action in an update.
  • $SVN::Wc::Notify::Action::update_completed β€” the last notification in an update (including updates of externals).
  • $SVN::Wc::Notify::Action::update_external β€” updating an external module.
  • $SVN::Wc::Notify::Action::status_completed β€” the last notification in a status (including status on externals).
  • $SVN::Wc::Notify::Action::status_external β€” running status on an external module.
  • $SVN::Wc::Notify::Action::commit_modified β€” committing a modification.
  • $SVN::Wc::Notify::Action::commit_added β€” committing an addition.
  • $SVN::Wc::Notify::Action::commit_deleted β€” committing a deletion.
  • $SVN::Wc::Notify::Action::commit_replaced β€” committing a replacement.
  • $SVN::Wc::Notify::Action::commit_postfix_txdelta β€” transmitting post-fix text-delta data for a file.
  • $SVN::Wc::Notify::Action::blame_revision β€” processed a single revision's blame.

🧚 SVN::Wc::Notify::State 🧚

  • $SVN::Wc::Notify::State::unknown β€” the notifier doesn't know or isn't saying.
  • $SVN::Wc::Notify::State::unchanged β€” the state did not change.
  • $SVN::Wc::Notify::State::missing β€” the item wasn't present.
  • $SVN::Wc::Notify::State::obstructed β€” an unversioned item obstructed work.
  • $SVN::Wc::Notify::State::changed β€” the pristine state was modified.
  • $SVN::Wc::Notify::State::merged β€” the modified state had mods merged in.
  • $SVN::Wc::Notify::State::conflicted β€” the modified state got conflicting mods.

πŸ“ SVN::Wc::Schedule πŸ“

  • $SVN::Wc::Schedule::normal β€” nothing special here.
  • $SVN::Wc::Schedule::add β€” slated for addition.
  • $SVN::Wc::Schedule::delete β€” slated for deletion.
  • $SVN::Wc::Schedule::replace β€” slated for replacement (delete + add).

🌈 SVN::Wc::Status 🌈

  • $SVN::Wc::Status::none β€” does not exist.
  • $SVN::Wc::Status::unversioned β€” is not a versioned node in this working copy.
  • $SVN::Wc::Status::normal β€” exists, but uninteresting.
  • $SVN::Wc::Status::added β€” is scheduled for addition.
  • $SVN::Wc::Status::missing β€” under version control but missing.
  • $SVN::Wc::Status::deleted β€” scheduled for deletion.
  • $SVN::Wc::Status::replaced β€” was deleted and then re-added.
  • $SVN::Wc::Status::modified β€” text or props have been modified.
  • $SVN::Wc::Status::merged β€” local mods received repos mods.
  • $SVN::Wc::Status::conflicted β€” local mods received conflicting mods.
  • $SVN::Wc::Status::ignored β€” a node marked as ignored.
  • $SVN::Wc::Status::obstructed β€” an unversioned resource is in the way of the versioned resource.
  • $SVN::Wc::Status::external β€” an unversioned path populated by an svn:externals property.
  • $SVN::Wc::Status::incomplete β€” a directory doesn't contain a complete entries list.

bestie, this is the legal bit and I am NOT paraphrasing it, here it is word for word:

Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.

okay that's the whole page, and we're signing off with perl v5.40.1, dated 2025-04-06 β€” that's the native::Wc(3perl) source and version situation, so now you know exactly which Perl era this vibe is from. go read your working copy statuses, bestie, you've got this πŸ’–βœ¨πŸ¦‹

πŸ“¦ where this page comes from